<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"> <style>
	.KEYW {color: #933;}
	.COMM {color: #bbb; font-style: italic;}
	.NUMB {color: #393;}
	.STRN {color: #393;}
	.REGX {color: #339;}
	.line {border-right: 1px dotted #666; color: #666; font-style: normal;}
	</style></head><body><pre><span class='line'>  1</span> <span class="COMM">/* asn1ocsp-1.1.8.js (c) 2016-2022 Kenji Urushima | kjur.github.io/jsrsasign/license
<span class='line'>  2</span>  */</span><span class="WHIT">
<span class='line'>  3</span> </span><span class="COMM">/*
<span class='line'>  4</span>  * asn1ocsp.js - ASN.1 DER encoder classes for OCSP protocol
<span class='line'>  5</span>  *
<span class='line'>  6</span>  * Copyright (c) 2016-2021 Kenji Urushima (kenji.urushima@gmail.com)
<span class='line'>  7</span>  *
<span class='line'>  8</span>  * This software is licensed under the terms of the MIT License.
<span class='line'>  9</span>  * https://kjur.github.io/jsrsasign/license
<span class='line'> 10</span>  *
<span class='line'> 11</span>  * The above copyright and license notice shall be 
<span class='line'> 12</span>  * included in all copies or substantial portions of the Software.
<span class='line'> 13</span>  */</span><span class="WHIT">
<span class='line'> 14</span> 
<span class='line'> 15</span> </span><span class="COMM">/**
<span class='line'> 16</span>  * @fileOverview
<span class='line'> 17</span>  * @name asn1ocsp-1.0.js
<span class='line'> 18</span>  * @author Kenji Urushima kenji.urushima@gmail.com
<span class='line'> 19</span>  * @version jsrsasign 10.5.20 asn1ocsp 1.1.8 (2022-Apr-25)
<span class='line'> 20</span>  * @since jsrsasign 6.1.0
<span class='line'> 21</span>  * @license &lt;a href="https://kjur.github.io/jsrsasign/license/">MIT License&lt;/a>
<span class='line'> 22</span>  */</span><span class="WHIT">
<span class='line'> 23</span> 
<span class='line'> 24</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">KJUR</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"undefined"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">KJUR</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">KJUR</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'> 25</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"undefined"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">KJUR.asn1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'> 26</span> 
<span class='line'> 27</span> </span><span class="COMM">/**
<span class='line'> 28</span>  * ASN.1 classes for OCSP protocol&lt;br/>
<span class='line'> 29</span>  * &lt;p>
<span class='line'> 30</span>  * This name space provides 
<span class='line'> 31</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960">RFC 6960
<span class='line'> 32</span>  * Online Certificate Status Protocol (OCSP)&lt;/a> ASN.1 request and response generator.
<span class='line'> 33</span>  *
<span class='line'> 34</span>  * &lt;h4>FEATURES&lt;/h4>
<span class='line'> 35</span>  * &lt;ul>
<span class='line'> 36</span>  * &lt;li>easily generate OCSP data by JSON object&lt;/li>
<span class='line'> 37</span>  * &lt;/ul>
<span class='line'> 38</span>  * 
<span class='line'> 39</span>  * &lt;h4>OCSP Response Encoder Classes&lt;/h4>
<span class='line'> 40</span>  * &lt;ul>
<span class='line'> 41</span>  * &lt;li>{@link KJUR.asn1.ocsp.OCSPResponse}&lt;/li>
<span class='line'> 42</span>  * &lt;li>{@link KJUR.asn1.ocsp.ResponseBytes}&lt;/li>
<span class='line'> 43</span>  * &lt;li>{@link KJUR.asn1.ocsp.BasicOCSPResponse}&lt;/li>
<span class='line'> 44</span>  * &lt;li>{@link KJUR.asn1.ocsp.ResponseData}&lt;/li>
<span class='line'> 45</span>  * &lt;li>{@link KJUR.asn1.ocsp.ResponderID}&lt;/li>
<span class='line'> 46</span>  * &lt;li>{@link KJUR.asn1.ocsp.SingleResponseList}&lt;/li>
<span class='line'> 47</span>  * &lt;li>{@link KJUR.asn1.ocsp.SingleResponse}&lt;/li>
<span class='line'> 48</span>  * &lt;li>{@link KJUR.asn1.ocsp.CertID}&lt;/li>
<span class='line'> 49</span>  * &lt;li>{@link KJUR.asn1.ocsp.CertStatus}&lt;/li>
<span class='line'> 50</span>  * &lt;/ul>
<span class='line'> 51</span>  *
<span class='line'> 52</span>  * &lt;h4>OCSP Request Encoder Classes&lt;/h4>
<span class='line'> 53</span>  * &lt;ul>
<span class='line'> 54</span>  * &lt;li>{@link KJUR.asn1.ocsp.OCSPRequest}&lt;/li>
<span class='line'> 55</span>  * &lt;li>{@link KJUR.asn1.ocsp.TBSRequest}&lt;/li>
<span class='line'> 56</span>  * &lt;li>{@link KJUR.asn1.ocsp.Request}&lt;/li>
<span class='line'> 57</span>  * &lt;li>{@link KJUR.asn1.ocsp.CertID}&lt;/li>
<span class='line'> 58</span>  * &lt;/ul>
<span class='line'> 59</span>  *
<span class='line'> 60</span>  * &lt;h4>OCSP Utility classes&lt;/h4>
<span class='line'> 61</span>  * &lt;ul>
<span class='line'> 62</span>  * &lt;li>{@link KJUR.asn1.ocsp.OCSPUtil} - simple request parser&lt;/li>
<span class='line'> 63</span>  * &lt;li>{@link KJUR.asn1.ocsp.OCSPParser} - request parser&lt;/li>
<span class='line'> 64</span>  * &lt;/ul>
<span class='line'> 65</span>  * &lt;/p>
<span class='line'> 66</span>  * @name KJUR.asn1.ocsp
<span class='line'> 67</span>  * @namespace
<span class='line'> 68</span>  */</span><span class="WHIT">
<span class='line'> 69</span> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ocsp</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"undefined"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="PUNC">!</span><span class="NAME">KJUR.asn1.ocsp</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ocsp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'> 70</span> 
<span class='line'> 71</span> </span><span class="NAME">KJUR.asn1.ocsp.DEFAULT_HASH</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"sha1"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'> 72</span> 
<span class='line'> 73</span> </span><span class="COMM">/**
<span class='line'> 74</span>  * OCSPResponse ASN.1 class encoder&lt;br/>
<span class='line'> 75</span>  * @name KJUR.asn1.ocsp.OCSPResponse
<span class='line'> 76</span>  * @class OCSPResponse ASN.1 class encoder
<span class='line'> 77</span>  * @param {Array} params JSON object of constructor parameters
<span class='line'> 78</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'> 79</span>  * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'> 80</span>  * @see KJUR.asn1.ocsp.ResponseBytes
<span class='line'> 81</span>  *
<span class='line'> 82</span>  * @description
<span class='line'> 83</span>  * OCSPResponse ASN.1 class is defined in 
<span class='line'> 84</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'> 85</span>  * &lt;pre>
<span class='line'> 86</span>  * OCSPResponse ::= SEQUENCE {
<span class='line'> 87</span>  *    responseStatus         OCSPResponseStatus,
<span class='line'> 88</span>  *    responseBytes          [0] EXPLICIT ResponseBytes OPTIONAL }
<span class='line'> 89</span>  * OCSPResponseStatus ::= ENUMERATED {
<span class='line'> 90</span>  *     successful            (0),  -- Response has valid confirmations
<span class='line'> 91</span>  *     malformedRequest      (1),  -- Illegal confirmation request
<span class='line'> 92</span>  *     internalError         (2),  -- Internal error in issuer
<span class='line'> 93</span>  *     tryLater              (3),  -- Try again later
<span class='line'> 94</span>  *                                 -- (4) is not used
<span class='line'> 95</span>  *     sigRequired           (5),  -- Must sign the request
<span class='line'> 96</span>  *     unauthorized          (6)   -- Request unauthorized
<span class='line'> 97</span>  * } 
<span class='line'> 98</span>  * &lt;/pre>
<span class='line'> 99</span>  * This constructor accepts all parameter of
<span class='line'>100</span>  * {@link KJUR.asn1.ocsp.ResponseBytes} for "successful" response.
<span class='line'>101</span>  * Further more following property is needed:
<span class='line'>102</span>  * &lt;ul>
<span class='line'>103</span>  * &lt;li>{Number or String}resstats - responseStatus value by
<span class='line'>104</span>  * a number or name. (ex. 2, "internalError")&lt;/li>
<span class='line'>105</span>  * &lt;/ul>
<span class='line'>106</span>  *
<span class='line'>107</span>  * @example
<span class='line'>108</span>  * // default constructor for "successful"
<span class='line'>109</span>  * o = new KJUR.asn1.ocsp.OCSPResponse({
<span class='line'>110</span>  *   resstatus: "successful",
<span class='line'>111</span>  *   &lt;&lt;ResponseBytes parameters>>
<span class='line'>112</span>  * });
<span class='line'>113</span>  * // constructor for error
<span class='line'>114</span>  * new KJUR.asn1.ocsp.OCSPResponse({resstatus: 1})
<span class='line'>115</span>  * new KJUR.asn1.ocsp.OCSPResponse({resstatus: "unauthorized"})
<span class='line'>116</span>  */</span><span class="WHIT">
<span class='line'>117</span> </span><span class="NAME">KJUR.asn1.ocsp.OCSPResponse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>118</span> </span><span class="WHIT">    </span><span class="NAME">KJUR.asn1.ocsp.OCSPResponse.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>119</span> 
<span class='line'>120</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_DEREnumerated</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.DEREnumerated</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>121</span> </span><span class="WHIT">	</span><span class="NAME">_newObject</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Util.newObject</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>122</span> </span><span class="WHIT">	</span><span class="NAME">_ResponseBytes</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ocsp.ResponseBytes</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>123</span> 
<span class='line'>124</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_aSTATUSNAME</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="STRN">"successful"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"malformedRequest"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"internalError"</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>125</span> </span><span class="WHIT">			</span><span class="STRN">"tryLater"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"_not_used_"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"sigRequired"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"unauthorized"</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT"> 
<span class='line'>126</span> 
<span class='line'>127</span>     </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>128</span> 
<span class='line'>129</span> </span><span class="WHIT">    </span><span class="NAME">this._getStatusCode</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>130</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">code</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params.resstatus</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>131</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">code</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"number"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">code</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>132</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">code</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"string"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>133</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_aSTATUSNAME.indexOf</span><span class="PUNC">(</span><span class="NAME">code</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>134</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>135</span> 
<span class='line'>136</span> </span><span class="WHIT">    </span><span class="NAME">this.setByParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>137</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>138</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>139</span> 
<span class='line'>140</span> </span><span class="WHIT">    </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>141</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>142</span> 
<span class='line'>143</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">code</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this._getStatusCode</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>144</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">code</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>145</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"responseStatus not supported: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT">
<span class='line'>146</span> </span><span class="WHIT">			    </span><span class="NAME">params.resstatus</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>147</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>148</span> 
<span class='line'>149</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">code</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>150</span> </span><span class="WHIT">	    </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_newObject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">seq</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">{</span><span class="STRN">'enum'</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="STRN">'int'</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">code</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">]</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>151</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>152</span> </span><span class="WHIT">	
<span class='line'>153</span> 	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dResBytes</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_ResponseBytes</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>154</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">_newObject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">seq</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="WHIT">
<span class='line'>155</span> </span><span class="WHIT">	    </span><span class="PUNC">{</span><span class="STRN">'enum'</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="STRN">'int'</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>156</span> </span><span class="WHIT">	    </span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"a0"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">explicit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">dResBytes</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>157</span> </span><span class="WHIT">	</span><span class="PUNC">]</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>158</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>159</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>160</span> 
<span class='line'>161</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.setByParam</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>162</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>163</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.OCSPResponse</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>164</span> 
<span class='line'>165</span> </span><span class="COMM">/**
<span class='line'>166</span>  * ResponseBytes ASN.1 class encoder&lt;br/>
<span class='line'>167</span>  * @name KJUR.asn1.ocsp.ResponseBytes
<span class='line'>168</span>  * @class ResponseBytes ASN.1 class encoder
<span class='line'>169</span>  * @param {Array} params JSON object of constructor parameters
<span class='line'>170</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>171</span>  * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>172</span>  * @see KJUR.asn1.ocsp.OCSPResponse
<span class='line'>173</span>  * @see KJUR.asn1.ocsp.BasicOCSPResponse
<span class='line'>174</span>  *
<span class='line'>175</span>  * @description
<span class='line'>176</span>  * OCSPResponse ASN.1 class is defined in 
<span class='line'>177</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>178</span>  * &lt;pre>
<span class='line'>179</span>  * ResponseBytes ::=       SEQUENCE {
<span class='line'>180</span>  *     responseType   OBJECT IDENTIFIER,
<span class='line'>181</span>  *     response       OCTET STRING }
<span class='line'>182</span>  * id-pkix-ocsp           OBJECT IDENTIFIER ::= { id-ad-ocsp }
<span class='line'>183</span>  * id-pkix-ocsp-basic     OBJECT IDENTIFIER ::= { id-pkix-ocsp 1 }
<span class='line'>184</span>  * &lt;/pre>
<span class='line'>185</span>  * This constructor accepts all parameter of
<span class='line'>186</span>  * {@link KJUR.asn1.ocsp.BasicOCSPResponse}.
<span class='line'>187</span>  * Further more following property is needed:
<span class='line'>188</span>  * &lt;ul>
<span class='line'>189</span>  * &lt;li>{String}restype - only "ocspBasic" can be available&lt;/li>
<span class='line'>190</span>  * &lt;/ul>
<span class='line'>191</span>  *
<span class='line'>192</span>  * @example
<span class='line'>193</span>  * o = new KJUR.asn1.ocsp.ResponseBytes({
<span class='line'>194</span>  *   restype: "ocspBasic",
<span class='line'>195</span>  *   // BasicOCSPResponse properties shall be specified
<span class='line'>196</span>  * });
<span class='line'>197</span>  */</span><span class="WHIT">
<span class='line'>198</span> </span><span class="NAME">KJUR.asn1.ocsp.ResponseBytes</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>199</span> </span><span class="WHIT">    </span><span class="NAME">KJUR.asn1.ocsp.ResponseBytes.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>200</span> 
<span class='line'>201</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>202</span> </span><span class="WHIT">	</span><span class="NAME">_DERSequence</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERSequence</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>203</span> </span><span class="WHIT">	</span><span class="NAME">_DERObjectIdentifier</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERObjectIdentifier</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>204</span> </span><span class="WHIT">	</span><span class="NAME">_DEROctetString</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DEROctetString</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>205</span> </span><span class="WHIT">	</span><span class="NAME">_BasicOCSPResponse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp.BasicOCSPResponse</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>206</span> 
<span class='line'>207</span> </span><span class="WHIT">    </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>208</span> 
<span class='line'>209</span> </span><span class="WHIT">    </span><span class="NAME">this.setByParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>210</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>211</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>212</span> 
<span class='line'>213</span> </span><span class="WHIT">    </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>214</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>215</span> 
<span class='line'>216</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.restype</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"ocspBasic"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>217</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"not supported responseType: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">params.restype</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>218</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>219</span> 
<span class='line'>220</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dBasic</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_BasicOCSPResponse</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>221</span> 
<span class='line'>222</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>223</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERObjectIdentifier</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">name</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"ocspBasic"</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>224</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DEROctetString</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">hex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">dBasic.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>225</span> 
<span class='line'>226</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>227</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">seq.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>228</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>229</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>230</span> 
<span class='line'>231</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.setByParam</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>232</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>233</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.ResponseBytes</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>234</span> 
<span class='line'>235</span> </span><span class="COMM">/**
<span class='line'>236</span>  * BasicOCSPResponse ASN.1 class encoder&lt;br/>
<span class='line'>237</span>  * @name KJUR.asn1.ocsp.BasicOCSPResponse
<span class='line'>238</span>  * @class BasicOCSPResponse ASN.1 class encoder
<span class='line'>239</span>  * @param {Array} params JSON object of constructor parameters
<span class='line'>240</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>241</span>  * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>242</span>  * @see KJUR.asn1.ocsp.OCSPResponse
<span class='line'>243</span>  * @see KJUR.asn1.ocsp.ResponseBytes
<span class='line'>244</span>  * @see KJUR.asn1.ocsp.BasicOCSPResponse
<span class='line'>245</span>  * @see KJUR.asn1.ocsp.ResponseData
<span class='line'>246</span>  *
<span class='line'>247</span>  * @description
<span class='line'>248</span>  * OCSPResponse ASN.1 class is defined in 
<span class='line'>249</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>250</span>  * &lt;pre>
<span class='line'>251</span>  * BasicOCSPResponse       ::= SEQUENCE {
<span class='line'>252</span>  *    tbsResponseData      ResponseData,
<span class='line'>253</span>  *    signatureAlgorithm   AlgorithmIdentifier,
<span class='line'>254</span>  *    signature            BIT STRING,
<span class='line'>255</span>  *    certs            [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
<span class='line'>256</span>  * &lt;/pre>
<span class='line'>257</span>  * This constructor accepts all parameter of
<span class='line'>258</span>  * {@link KJUR.asn1.ocsp.ResponseData}.
<span class='line'>259</span>  * Further more following properties are available:
<span class='line'>260</span>  * &lt;ul>
<span class='line'>261</span>  * &lt;li>{ASN1Object}tbsresp (OPTION) - {@link KJUR.asn1.ASN1Object} or its
<span class='line'>262</span>  * sub class object for tbsReponseData,
<span class='line'>263</span>  * genelally {@link KJUR.asn1.ocsp.ResponseData}.
<span class='line'>264</span>  * When "tbsresp" not specified, tbsresp will be set by
<span class='line'>265</span>  * other parameters internally.&lt;/li>
<span class='line'>266</span>  * &lt;li>{String}sigalg - signatureAlgrithm name (ex. "SHA256withRSA")&lt;/li>
<span class='line'>267</span>  * &lt;li>{Object}reskey (OPTION) - specifies OCSP response signing private key.
<span class='line'>268</span>  * Parameter "reskey" or "sighex" shall be specified.
<span class='line'>269</span>  * Following values can be specified:
<span class='line'>270</span>  *   &lt;ul>
<span class='line'>271</span>  *   &lt;li>PKCS#1/5 or PKCS#8 PEM string of private key&lt;/li>
<span class='line'>272</span>  *   &lt;li>RSAKey/DSA/ECDSA key object. {@link KEYUTIL.getKey} is useful
<span class='line'>273</span>  *   to generate a key object.&lt;/li>
<span class='line'>274</span>  *   &lt;/ul>
<span class='line'>275</span>  * &lt;/li>
<span class='line'>276</span>  * &lt;li>{String}sighex (OPTION) - hexadecimal string of signature value
<span class='line'>277</span>  * (i.e. ASN.1 value(V) of signatureValue BIT STRING without
<span class='line'>278</span>  * unused bits)&lt;/li>
<span class='line'>279</span>  * &lt;li>{Array}certs (OPTION) - array of PEM or hexadecimal string of
<span class='line'>280</span>  * certificate such as OCSP responder certificate&lt;/li>
<span class='line'>281</span>  * &lt;/ul>
<span class='line'>282</span>  *
<span class='line'>283</span>  * @example
<span class='line'>284</span>  * // response data will be signed by "reskey"
<span class='line'>285</span>  * new KJUR.asn1.ocsp.BasicOCSPResponse({
<span class='line'>286</span>  *   ...&lt;&lt;ResponseData properties...>>...
<span class='line'>287</span>  *   sigalg: "SHA256withRSA",
<span class='line'>288</span>  *   reskey: &lt;&lt;OCSP Responder private key PEM or object>>,
<span class='line'>289</span>  *   certs: [&lt;&lt;PEMorHEXstringOfCert1>>,...] });
<span class='line'>290</span>  *
<span class='line'>291</span>  * // explicitly specify "signature" by "sighex"
<span class='line'>292</span>  * new KJUR.asn1.ocsp.BasicOCSPResponse({
<span class='line'>293</span>  *   ...&lt;&lt;ResponseData properties...>>...
<span class='line'>294</span>  *   sigalg: "SHA256withRSA",
<span class='line'>295</span>  *   sighex: "12abcd...",
<span class='line'>296</span>  *   certs: [&lt;&lt;PEMorHEXstringOfCert1>>,...] });
<span class='line'>297</span>  * 
<span class='line'>298</span>  * // explicitly specify "tbsResponseData" and sign
<span class='line'>299</span>  * new KJUR.asn1.ocsp.BasicOCSPResponse({
<span class='line'>300</span>  * { tbsresp: &lt;&lt;subclass of ASN1Object>>,
<span class='line'>301</span>  *   sigalg: "SHA256withRSA",
<span class='line'>302</span>  *   reskey: &lt;&lt;OCSP Responder private key PEM or object>>,
<span class='line'>303</span>  *   certs: [&lt;&lt;PEMorHEXstringOfCert1>>,...] }
<span class='line'>304</span>  */</span><span class="WHIT">
<span class='line'>305</span> </span><span class="NAME">KJUR.asn1.ocsp.BasicOCSPResponse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>306</span> </span><span class="WHIT">    </span><span class="NAME">KJUR.asn1.ocsp.BasicOCSPResponse.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>307</span> 
<span class='line'>308</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>309</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>310</span> </span><span class="WHIT">	</span><span class="NAME">_ASN1Object</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ASN1Object</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>311</span> </span><span class="WHIT">	</span><span class="NAME">_DERSequence</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERSequence</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>312</span> </span><span class="WHIT">	</span><span class="NAME">_DERGeneralizedTime</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERGeneralizedTime</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>313</span> </span><span class="WHIT">	</span><span class="NAME">_DERTaggedObject</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERTaggedObject</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>314</span> </span><span class="WHIT">	</span><span class="NAME">_DERBitString</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERBitString</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>315</span> </span><span class="WHIT">	</span><span class="NAME">_Extensions</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.x509.Extensions</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>316</span> </span><span class="WHIT">	</span><span class="NAME">_AlgorithmIdentifier</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.x509.AlgorithmIdentifier</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>317</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_ocsp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>318</span> </span><span class="WHIT">	</span><span class="NAME">_ResponderID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.ResponderID</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>319</span> </span><span class="WHIT">	</span><span class="NAME">_SingleResponseList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.SingleResponseList</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>320</span> </span><span class="WHIT">	</span><span class="NAME">_ResponseData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.ResponseData</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>321</span> 
<span class='line'>322</span> </span><span class="WHIT">    </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>323</span> 
<span class='line'>324</span> </span><span class="WHIT">    </span><span class="NAME">this.setByParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>325</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>326</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>327</span> 
<span class='line'>328</span> </span><span class="WHIT">    </span><span class="NAME">this.sign</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>329</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>330</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hTBS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params.tbsresp.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>331</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sig</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">KJUR.crypto.Signature</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">alg</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">params.sigalg</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>332</span> </span><span class="WHIT">	</span><span class="NAME">sig.init</span><span class="PUNC">(</span><span class="NAME">params.reskey</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>333</span> </span><span class="WHIT">	</span><span class="NAME">sig.updateHex</span><span class="PUNC">(</span><span class="NAME">hTBS</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>334</span> </span><span class="WHIT">	</span><span class="NAME">params.sighex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sig.sign</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>335</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>336</span> 
<span class='line'>337</span> </span><span class="WHIT">    </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>338</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>339</span> 
<span class='line'>340</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.tbsresp</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>341</span> </span><span class="WHIT">	    </span><span class="NAME">params.tbsresp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_ResponseData</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>342</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>343</span> 
<span class='line'>344</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.sighex</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">params.reskey</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>345</span> </span><span class="WHIT">	    </span><span class="NAME">this.sign</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>346</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>347</span> 
<span class='line'>348</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>349</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="NAME">params.tbsresp</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>350</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_AlgorithmIdentifier</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">name</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">params.sigalg</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>351</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERBitString</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">hex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"00"</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">params.sighex</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>352</span> 
<span class='line'>353</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.certs</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
<span class='line'>354</span> </span><span class="WHIT">	    </span><span class="NAME">params.certs.length</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>355</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>356</span> </span><span class="WHIT">	    </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">params.certs.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>357</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params.certs</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>358</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>359</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">ASN1HEX.isASN1HEX</span><span class="PUNC">(</span><span class="NAME">sCert</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>360</span> </span><span class="WHIT">		    </span><span class="NAME">hCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sCert</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>361</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">sCert.match</span><span class="PUNC">(</span><span class="REGX">/-----BEGIN/</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>362</span> </span><span class="WHIT">		    </span><span class="NAME">hCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">pemtohex</span><span class="PUNC">(</span><span class="NAME">sCert</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>363</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>364</span> </span><span class="WHIT">		    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"certs["</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="STRN">"] not hex or PEM"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>365</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>366</span> </span><span class="WHIT">		</span><span class="NAME">aCert.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_ASN1Object</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">tlv</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">hCert</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>367</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>368</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seqCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">aCert</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>369</span> </span><span class="WHIT">	    </span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERTaggedObject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="STRN">'a0'</span><span class="PUNC">,</span><span class="NAME">explicit</span><span class="PUNC">:</span><span class="KEYW">true</span><span class="PUNC">,</span><span class="NAME">obj</span><span class="PUNC">:</span><span class="NAME">seqCert</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>370</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>371</span> </span><span class="WHIT">	
<span class='line'>372</span> 	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>373</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">seq.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>374</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>375</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>376</span> 
<span class='line'>377</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.setByParam</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>378</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>379</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.BasicOCSPResponse</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>380</span> 
<span class='line'>381</span> </span><span class="COMM">/**
<span class='line'>382</span>  * ResponseData ASN.1 class encoder&lt;br/>
<span class='line'>383</span>  * @name KJUR.asn1.ocsp.ResponseData
<span class='line'>384</span>  * @class ResponseData ASN.1 class encoder
<span class='line'>385</span>  * @param {Array} params JSON object of constructor parameters
<span class='line'>386</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>387</span>  * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>388</span>  * @see KJUR.asn1.ocsp.OCSPResponse
<span class='line'>389</span>  * @see KJUR.asn1.ocsp.ResponseBytes
<span class='line'>390</span>  * @see KJUR.asn1.ocsp.BasicOCSPResponse
<span class='line'>391</span>  * @see KJUR.asn1.ocsp.ResponseData
<span class='line'>392</span>  * @see KJUR.asn1.ocsp.SingleResponse
<span class='line'>393</span>  * @see KJUR.asn1.x509.Extensions
<span class='line'>394</span>  * @see KJUR.asn1.DERGeneralizedTime
<span class='line'>395</span>  *
<span class='line'>396</span>  * @description
<span class='line'>397</span>  * ResponseData ASN.1 class is defined in 
<span class='line'>398</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>399</span>  * &lt;pre>
<span class='line'>400</span>  * ResponseData ::= SEQUENCE {
<span class='line'>401</span>  *    version              [0] EXPLICIT Version DEFAULT v1,
<span class='line'>402</span>  *    responderID              ResponderID,
<span class='line'>403</span>  *    producedAt               GeneralizedTime,
<span class='line'>404</span>  *    responses                SEQUENCE OF SingleResponse,
<span class='line'>405</span>  *    responseExtensions   [1] EXPLICIT Extensions OPTIONAL }
<span class='line'>406</span>  * &lt;/pre>
<span class='line'>407</span>  * Following properties are available:
<span class='line'>408</span>  * &lt;ul>
<span class='line'>409</span>  * &lt;li>{Array}respid - JSON object of {@link KJUR.asn1.ocsp.ResponseID} parameter
<span class='line'>410</span>  * for "responderID"&lt;/li>
<span class='line'>411</span>  * &lt;li>{Object}prodat - string or JSON parameter of 
<span class='line'>412</span>  * {@link KJUR.asn1.DERGeneralizedTime} (ex. "20200904235959Z")&lt;/li>
<span class='line'>413</span>  * &lt;li>{Array}responses - array of {@link KJUR.asn1.ocsp.SingleResponse}
<span class='line'>414</span>  * parameters&lt;/li>
<span class='line'>415</span>  * &lt;li>{Array}ext (OPTION) - array of extension parameters
<span class='line'>416</span>  * for "responseExtensions".&lt;/li>
<span class='line'>417</span>  * &lt;/ul>
<span class='line'>418</span>  *
<span class='line'>419</span>  * @example
<span class='line'>420</span>  * new KJUR.asn1.ocsp.ResponseData({
<span class='line'>421</span>  *   respid: {key: "12ab..."},
<span class='line'>422</span>  *   prodat: "20200903235959Z",
<span class='line'>423</span>  *   array: [
<span class='line'>424</span>  *     &lt;&lt;SingleResponse parameter1>>, ...
<span class='line'>425</span>  *   ],
<span class='line'>426</span>  *   ext: [{extname:"ocspNonce",hex:"12ab..."}]
<span class='line'>427</span>  * });
<span class='line'>428</span>  */</span><span class="WHIT">
<span class='line'>429</span> </span><span class="NAME">KJUR.asn1.ocsp.ResponseData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>430</span> </span><span class="WHIT">    </span><span class="NAME">KJUR.asn1.ocsp.ResponseData.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>431</span> 
<span class='line'>432</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>433</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>434</span> </span><span class="WHIT">	</span><span class="NAME">_DERSequence</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERSequence</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>435</span> </span><span class="WHIT">	</span><span class="NAME">_DERGeneralizedTime</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERGeneralizedTime</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>436</span> </span><span class="WHIT">	</span><span class="NAME">_DERTaggedObject</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERTaggedObject</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>437</span> </span><span class="WHIT">	</span><span class="NAME">_Extensions</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.x509.Extensions</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>438</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_ocsp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>439</span> </span><span class="WHIT">	</span><span class="NAME">_ResponderID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.ResponderID</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>440</span> </span><span class="WHIT">	</span><span class="NAME">_SingleResponseList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.SingleResponseList</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>441</span> </span><span class="WHIT">    
<span class='line'>442</span>     </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>443</span> 
<span class='line'>444</span> </span><span class="WHIT">    </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>445</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>446</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.respid</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"respid not specified"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>447</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.prodat</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"prodat not specified"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>448</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.array</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"array not specified"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>449</span> 
<span class='line'>450</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>451</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_ResponderID</span><span class="PUNC">(</span><span class="NAME">params.respid</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>452</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERGeneralizedTime</span><span class="PUNC">(</span><span class="NAME">params.prodat</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>453</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_SingleResponseList</span><span class="PUNC">(</span><span class="NAME">params.array</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>454</span> 
<span class='line'>455</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.ext</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>456</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dExt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Extensions</span><span class="PUNC">(</span><span class="NAME">params.ext</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>457</span> </span><span class="WHIT">	    </span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERTaggedObject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="STRN">'a1'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">explicit</span><span class="PUNC">:</span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">:</span><span class="NAME">dExt</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>458</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>459</span> 
<span class='line'>460</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>461</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">seq.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>462</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>463</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>464</span> 
<span class='line'>465</span> </span><span class="WHIT">    </span><span class="NAME">this.setByParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>466</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>467</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>468</span> 
<span class='line'>469</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.setByParam</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>470</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>471</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.ResponseData</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>472</span> 
<span class='line'>473</span> </span><span class="COMM">/**
<span class='line'>474</span>  * ResponderID ASN.1 class encoder&lt;br/>
<span class='line'>475</span>  * @name KJUR.asn1.ocsp.ResponderID
<span class='line'>476</span>  * @class ResponderID ASN.1 class encoder
<span class='line'>477</span>  * @param {Array} params JSON object of constructor parameters
<span class='line'>478</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>479</span>  * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>480</span>  * @see KJUR.asn1.ocsp.OCSPResponse
<span class='line'>481</span>  * @see KJUR.asn1.ocsp.ResponseBytes
<span class='line'>482</span>  * @see KJUR.asn1.ocsp.BasicOCSPResponse
<span class='line'>483</span>  * @see KJUR.asn1.ocsp.ResponseData
<span class='line'>484</span>  * @see X509#getSubject
<span class='line'>485</span>  * @see X509#getExtSubjectKeyIdentifier
<span class='line'>486</span>  *
<span class='line'>487</span>  * @description
<span class='line'>488</span>  * ResponderID ASN.1 class is defined in 
<span class='line'>489</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>490</span>  * &lt;pre>
<span class='line'>491</span>  * ResponderID ::= CHOICE {
<span class='line'>492</span>  *    byName               [1] Name,
<span class='line'>493</span>  *    byKey                [2] KeyHash }
<span class='line'>494</span>  * KeyHash ::= OCTET STRING -- SHA-1 hash of responder's public key
<span class='line'>495</span>  *                             (excluding the tag and length fields)
<span class='line'>496</span>  * &lt;/pre>
<span class='line'>497</span>  * Following properties are available:
<span class='line'>498</span>  * &lt;ul>
<span class='line'>499</span>  * &lt;li>{Array}name (OPTION) - JSON object of {@link KJUR.asn1.x509.X500Name} parameter,
<span class='line'>500</span>  * PEM string of X.509 certificate or {@link X509} object for "byName",&lt;/li>
<span class='line'>501</span>  * &lt;li>{String}key (OPTION) - hexadecimal string of KeyHash value,
<span class='line'>502</span>  * PEM string of X.509 certificate or {@link X509} object for "byKey"&lt;/li>
<span class='line'>503</span>  * &lt;/ul>
<span class='line'>504</span>  * &lt;br/>
<span class='line'>505</span>  * NOTE: From jsrsasign 10.5.20, "name" and "key" member values can be
<span class='line'>506</span>  * specified by PEM string of X.509 certificate or {@link X509} object.
<span class='line'>507</span>  * For "name", subject field of the certificate will be used and
<span class='line'>508</span>  * for "key", subjectKeyIdentifier extension value of the certificate will be used
<span class='line'>509</span>  * respectively.
<span class='line'>510</span>  *
<span class='line'>511</span>  * @example
<span class='line'>512</span>  * new KJUR.asn1.ocsp.ResponderID({key: "12ab..."})
<span class='line'>513</span>  * new KJUR.asn1.ocsp.ResponderID({name: {str: "/C=JP/O=Resp"}})
<span class='line'>514</span>  * new KJUR.asn1.ocsp.ResponderID({name: {array: [[{type:"C",value:"JP",ds:"prn"}]...]}})
<span class='line'>515</span>  * // by certificate
<span class='line'>516</span>  * new KJUR.asn1.ocsp.ResponderID({key: "-----BEGIN CERTIFICATE..."})
<span class='line'>517</span>  * new KJUR.asn1.ocsp.ResponderID({name: "-----BEGIN CERTIFICATE..."})
<span class='line'>518</span>  * // by X509 object
<span class='line'>519</span>  * new KJUR.asn1.ocsp.ResponderID({key: new X509(...)})
<span class='line'>520</span>  * new KJUR.asn1.ocsp.ResponderID({name: new X509(...)})
<span class='line'>521</span>  */</span><span class="WHIT">
<span class='line'>522</span> </span><span class="NAME">KJUR.asn1.ocsp.ResponderID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>523</span> </span><span class="WHIT">    </span><span class="NAME">KJUR.asn1.ocsp.ResponderID.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>524</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_KJUR</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>525</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>526</span> </span><span class="WHIT">	</span><span class="NAME">_newObject</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ASN1Util.newObject</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>527</span> </span><span class="WHIT">	</span><span class="NAME">_X500Name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.x509.X500Name</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>528</span> </span><span class="WHIT">	</span><span class="NAME">_isHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR.lang.String.isHex</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>529</span> </span><span class="WHIT">	</span><span class="NAME">_Error</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>530</span> </span><span class="WHIT">    
<span class='line'>531</span>     </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>532</span> </span><span class="WHIT">    
<span class='line'>533</span>     </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>534</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>535</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.key</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>536</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>537</span> </span><span class="WHIT">	    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">params.key</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"string"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>538</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">_isHex</span><span class="PUNC">(</span><span class="NAME">params.key</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">hKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params.key</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>539</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.key.match</span><span class="PUNC">(</span><span class="REGX">/-----BEGIN CERTIFICATE/</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>540</span> </span><span class="WHIT">		    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">(</span><span class="NAME">params.key</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>541</span> </span><span class="WHIT">		    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">extSKID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x.getExtSubjectKeyIdentifier</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>542</span> </span><span class="WHIT">		    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">extSKID</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">hKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">extSKID.kid.hex</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>543</span> </span><span class="WHIT">		</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>544</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.key</span><span class="WHIT"> </span><span class="KEYW">instanceof</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>545</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">extSKID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params.key.getExtSubjectKeyIdentifier</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>546</span> </span><span class="WHIT">		</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">extSKID</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">hKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">extSKID.kid.hex</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>547</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>548</span> </span><span class="WHIT">	    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">hKey</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"wrong key member value"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>549</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dTag</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_newObject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="STRN">"a2"</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>550</span> </span><span class="WHIT">					 </span><span class="NAME">explicit</span><span class="PUNC">:</span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>551</span> </span><span class="WHIT">					 </span><span class="NAME">obj</span><span class="PUNC">:</span><span class="PUNC">{</span><span class="NAME">octstr</span><span class="PUNC">:</span><span class="PUNC">{</span><span class="NAME">hex</span><span class="PUNC">:</span><span class="NAME">hKey</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>552</span> </span><span class="WHIT">	    </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dTag.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>553</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.name</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>554</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">pName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>555</span> </span><span class="WHIT">	    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">params.name</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"string"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
<span class='line'>556</span> </span><span class="WHIT">		</span><span class="NAME">params.name.match</span><span class="PUNC">(</span><span class="REGX">/-----BEGIN CERTIFICATE/</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>557</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">(</span><span class="NAME">params.name</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>558</span> </span><span class="WHIT">		</span><span class="NAME">pName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x.getSubject</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>559</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.name</span><span class="WHIT"> </span><span class="KEYW">instanceof</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>560</span> </span><span class="WHIT">		</span><span class="NAME">pName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params.name.getSubject</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>561</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">params.name</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"object"</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
<span class='line'>562</span> </span><span class="WHIT">		       </span><span class="PUNC">(</span><span class="NAME">params.name.array</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT">
<span class='line'>563</span> </span><span class="WHIT">			</span><span class="NAME">params.name.str</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>564</span> </span><span class="WHIT">		</span><span class="NAME">pName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params.name</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>565</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>566</span> </span><span class="WHIT">	    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">pName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"wrong name member value"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>567</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dTag</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_newObject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="STRN">"a1"</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>568</span> </span><span class="WHIT">					 </span><span class="NAME">explicit</span><span class="PUNC">:</span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>569</span> </span><span class="WHIT">					 </span><span class="NAME">obj</span><span class="PUNC">:</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_X500Name</span><span class="PUNC">(</span><span class="NAME">pName</span><span class="PUNC">)</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>570</span> </span><span class="WHIT">	    </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">dTag.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>571</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>572</span> </span><span class="WHIT">	</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"key or name not specified"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>573</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>574</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>575</span> 
<span class='line'>576</span> </span><span class="WHIT">    </span><span class="NAME">this.setByParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>577</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>578</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>579</span> 
<span class='line'>580</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.setByParam</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>581</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>582</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.ResponderID</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>583</span> 
<span class='line'>584</span> </span><span class="COMM">/**
<span class='line'>585</span>  * ASN.1 class encoder for SEQUENCE OF SingleResponse&lt;br/>
<span class='line'>586</span>  * @name KJUR.asn1.ocsp.SingleResponseList
<span class='line'>587</span>  * @class ASN.1 class encoder for SEQUENCE OF SingleResponse
<span class='line'>588</span>  * @param {Array} params array of JSON object for SingleResponse parameters
<span class='line'>589</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>590</span>  * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>591</span>  * @see KJUR.asn1.ocsp.OCSPResponse
<span class='line'>592</span>  * @see KJUR.asn1.ocsp.ResponseBytes
<span class='line'>593</span>  * @see KJUR.asn1.ocsp.BasicOCSPResponse
<span class='line'>594</span>  * @see KJUR.asn1.ocsp.ResponseData
<span class='line'>595</span>  * @see KJUR.asn1.ocsp.SingleResponse
<span class='line'>596</span>  *
<span class='line'>597</span>  * @description
<span class='line'>598</span>  * ASN.1 class of SEQUENCE OF SingleResponse is defined in 
<span class='line'>599</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>600</span>  * &lt;pre>
<span class='line'>601</span>  * ResponseData ::= SEQUENCE {
<span class='line'>602</span>  *    version              [0] EXPLICIT Version DEFAULT v1,
<span class='line'>603</span>  *    responderID              ResponderID,
<span class='line'>604</span>  *    producedAt               GeneralizedTime,
<span class='line'>605</span>  *    responses                SEQUENCE OF SingleResponse,
<span class='line'>606</span>  *    responseExtensions   [1] EXPLICIT Extensions OPTIONAL }
<span class='line'>607</span>  * SingleResponse ::= SEQUENCE {
<span class='line'>608</span>  *    certID                       CertID,
<span class='line'>609</span>  *    certStatus                   CertStatus,
<span class='line'>610</span>  *    thisUpdate                   GeneralizedTime,
<span class='line'>611</span>  *    nextUpdate         [0]       EXPLICIT GeneralizedTime OPTIONAL,
<span class='line'>612</span>  *    singleExtensions   [1]       EXPLICIT Extensions OPTIONAL }
<span class='line'>613</span>  * &lt;/pre>
<span class='line'>614</span>  * Following properties are available:
<span class='line'>615</span>  * &lt;ul>
<span class='line'>616</span>  * &lt;li>{Array}name (OPTION) - JSON object of {@link KJUR.asn1.x509.X500Name} parameter
<span class='line'>617</span>  * for "byName"&lt;/li>
<span class='line'>618</span>  * &lt;li>{String}key (OPTION) - hexadecimal string of KeyHash value&lt;/li>
<span class='line'>619</span>  * &lt;/ul>
<span class='line'>620</span>  *
<span class='line'>621</span>  * @example
<span class='line'>622</span>  * new KJUR.asn1.ocsp.SingleResponseList([{
<span class='line'>623</span>  *   certid: {alg:"sha1",issname:"12ab",isskey:"12ab",sbjsn:"12ab"},
<span class='line'>624</span>  *   status: {status: "good"},
<span class='line'>625</span>  *   thisupdate: "20200903235959Z"
<span class='line'>626</span>  * },{
<span class='line'>627</span>  *   certid: {alg:"sha1",issname:"24ab",isskey:"24ab",sbjsn:"24ab"},
<span class='line'>628</span>  *   status: {status: "good"},
<span class='line'>629</span>  *   thisupdate: "20200904235959Z"
<span class='line'>630</span>  * ])
<span class='line'>631</span>  */</span><span class="WHIT">
<span class='line'>632</span> </span><span class="NAME">KJUR.asn1.ocsp.SingleResponseList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>633</span> </span><span class="WHIT">    </span><span class="NAME">KJUR.asn1.ocsp.SingleResponseList.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>634</span> 
<span class='line'>635</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>636</span> </span><span class="WHIT">	</span><span class="NAME">_DERSequence</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERSequence</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>637</span> </span><span class="WHIT">	</span><span class="NAME">_SingleResponse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp.SingleResponse</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>638</span> 
<span class='line'>639</span> </span><span class="WHIT">    </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>640</span> </span><span class="WHIT">    
<span class='line'>641</span>     </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>642</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>643</span> 
<span class='line'>644</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"object"</span><span class="WHIT"> </span><span class="PUNC">||</span><span class="WHIT"> </span><span class="NAME">params.length</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>645</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"params not specified properly"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>646</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>647</span> 
<span class='line'>648</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>649</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">params.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>650</span> </span><span class="WHIT">	    </span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_SingleResponse</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>651</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>652</span> 
<span class='line'>653</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>654</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">seq.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>655</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>656</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>657</span> 
<span class='line'>658</span> </span><span class="WHIT">    </span><span class="NAME">this.setByParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>659</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>660</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>661</span> 
<span class='line'>662</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.setByParam</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>663</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>664</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.SingleResponseList</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>665</span> 
<span class='line'>666</span> </span><span class="COMM">/**
<span class='line'>667</span>  * SingleResponse ASN.1 class encoder&lt;br/>
<span class='line'>668</span>  * @name KJUR.asn1.ocsp.SingleResponse
<span class='line'>669</span>  * @class SingleResponse ASN.1 class encoder
<span class='line'>670</span>  * @param {Array} params JSON object for SingleResponse parameter
<span class='line'>671</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>672</span>  * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>673</span>  * @see KJUR.asn1.ocsp.OCSPResponse
<span class='line'>674</span>  * @see KJUR.asn1.ocsp.ResponseBytes
<span class='line'>675</span>  * @see KJUR.asn1.ocsp.BasicOCSPResponse
<span class='line'>676</span>  * @see KJUR.asn1.ocsp.ResponseData
<span class='line'>677</span>  * @see KJUR.asn1.ocsp.SingleResponse
<span class='line'>678</span>  * @see KJUR.asn1.ocsp.CertID
<span class='line'>679</span>  * @see KJUR.asn1.ocsp.CertStatus
<span class='line'>680</span>  *
<span class='line'>681</span>  * @description
<span class='line'>682</span>  * ASN.1 class of SEQUENCE OF SingleResponse is defined in 
<span class='line'>683</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>684</span>  * &lt;pre>
<span class='line'>685</span>  * SingleResponse ::= SEQUENCE {
<span class='line'>686</span>  *    certID                       CertID,
<span class='line'>687</span>  *    certStatus                   CertStatus,
<span class='line'>688</span>  *    thisUpdate                   GeneralizedTime,
<span class='line'>689</span>  *    nextUpdate         [0]       EXPLICIT GeneralizedTime OPTIONAL,
<span class='line'>690</span>  *    singleExtensions   [1]       EXPLICIT Extensions OPTIONAL }
<span class='line'>691</span>  * &lt;/pre>
<span class='line'>692</span>  * Following properties are available:
<span class='line'>693</span>  * &lt;ul>
<span class='line'>694</span>  * &lt;li>{Array}certid - JSON object of {@link KJUR.asn1.ocsp.CertID} parameter&lt;/li>
<span class='line'>695</span>  * &lt;li>{Array}status - JSON object of {@link KJUR.asn1.ocsp.CertStatus} parameter&lt;/li>
<span class='line'>696</span>  * &lt;li>{Object}thisupdate - {@link KJUR.asn1.DERGeneralizedTime} parameter
<span class='line'>697</span>  * for "thisUpdate"&lt;/li>
<span class='line'>698</span>  * &lt;li>{Object}nextupdate (OPTION) - {@link KJUR.asn1.DERGeneralizedTime} parameter
<span class='line'>699</span>  * for "nextUpdate"&lt;/li>
<span class='line'>700</span>  * &lt;li>{Array}ext (OPTION) - array of JSON object 
<span class='line'>701</span>  * {@link KJUR.asn1.x509.Extension} sub class parameter for
<span class='line'>702</span>  * "singleExtensions"&lt;/li>
<span class='line'>703</span>  * &lt;/ul>
<span class='line'>704</span>  *
<span class='line'>705</span>  * @example
<span class='line'>706</span>  * new KJUR.asn1.ocsp.SingleResponse({
<span class='line'>707</span>  *   certid: {alg:"sha1",issname:"12ab",isskey:"12ab",sbjsn:"12ab"},
<span class='line'>708</span>  *   status: {status: "good"},
<span class='line'>709</span>  *   thisupdate: "20200903235959Z",
<span class='line'>710</span>  *   nextupdate: "20200913235959Z",
<span class='line'>711</span>  *   ext: [&lt;&lt;Extension parameters>>...]
<span class='line'>712</span>  * })
<span class='line'>713</span>  */</span><span class="WHIT">
<span class='line'>714</span> </span><span class="NAME">KJUR.asn1.ocsp.SingleResponse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>715</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>716</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>717</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>718</span> </span><span class="WHIT">	</span><span class="NAME">_DERSequence</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERSequence</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>719</span> </span><span class="WHIT">	</span><span class="NAME">_DERGeneralizedTime</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERGeneralizedTime</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>720</span> </span><span class="WHIT">	</span><span class="NAME">_DERTaggedObject</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERTaggedObject</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>721</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_ocsp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>722</span> </span><span class="WHIT">	</span><span class="NAME">_CertID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.CertID</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>723</span> </span><span class="WHIT">	</span><span class="NAME">_CertStatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.CertStatus</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>724</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_x509</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.x509</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>725</span> </span><span class="WHIT">	</span><span class="NAME">_Extensions</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_x509.Extensions</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>726</span> 
<span class='line'>727</span> </span><span class="WHIT">    </span><span class="NAME">_KJUR_asn1_ocsp.SingleResponse.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>728</span> 
<span class='line'>729</span> </span><span class="WHIT">    </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>730</span> </span><span class="WHIT">    
<span class='line'>731</span>     </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>732</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>733</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>734</span> 
<span class='line'>735</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.certid</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"certid unspecified"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>736</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.status</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"status unspecified"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>737</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.thisupdate</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"thisupdate unspecified"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>738</span> 
<span class='line'>739</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_CertID</span><span class="PUNC">(</span><span class="NAME">params.certid</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>740</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_CertStatus</span><span class="PUNC">(</span><span class="NAME">params.status</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>741</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERGeneralizedTime</span><span class="PUNC">(</span><span class="NAME">params.thisupdate</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>742</span> 
<span class='line'>743</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.nextupdate</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>744</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dTime</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERGeneralizedTime</span><span class="PUNC">(</span><span class="NAME">params.nextupdate</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>745</span> </span><span class="WHIT">	    </span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERTaggedObject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="STRN">'a0'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">explicit</span><span class="PUNC">:</span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">:</span><span class="NAME">dTime</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>746</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>747</span> 
<span class='line'>748</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.ext</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>749</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dExt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Extensions</span><span class="PUNC">(</span><span class="NAME">params.ext</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>750</span> </span><span class="WHIT">	    </span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERTaggedObject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="STRN">'a1'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">explicit</span><span class="PUNC">:</span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">:</span><span class="NAME">dExt</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>751</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>752</span> 
<span class='line'>753</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>754</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">seq.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>755</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>756</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>757</span> 
<span class='line'>758</span> </span><span class="WHIT">    </span><span class="NAME">this.setByParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>759</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>760</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>761</span> 
<span class='line'>762</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.setByParam</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>763</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>764</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.SingleResponse</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>765</span> 
<span class='line'>766</span> </span><span class="COMM">/**
<span class='line'>767</span>  * ASN.1 CertID class for OCSP&lt;br/>
<span class='line'>768</span>  * @name KJUR.asn1.ocsp.CertID
<span class='line'>769</span>  * @class ASN.1 CertID class for OCSP
<span class='line'>770</span>  * @param {Array} params JSON object of parameters
<span class='line'>771</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>772</span>  * @since jsrsasign 6.1.0 asn1ocsp 1.0.0
<span class='line'>773</span>  * @see KJUR.asn1.ocsp.SingleResponse
<span class='line'>774</span>  * @see KJUR.asn1.x509.AlgorithmIdentifier
<span class='line'>775</span>  *
<span class='line'>776</span>  * @description
<span class='line'>777</span>  * CertID ASN.1 class is defined in 
<span class='line'>778</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.1.1">RFC 6960 4.1.1&lt;/a>. 
<span class='line'>779</span>  * &lt;pre>
<span class='line'>780</span>  * CertID ::= SEQUENCE {
<span class='line'>781</span>  *   hashAlgorithm   AlgorithmIdentifier,
<span class='line'>782</span>  *   issuerNameHash  OCTET STRING, -- Hash of issuer's DN
<span class='line'>783</span>  *   issuerKeyHash   OCTET STRING, -- Hash of issuer's public key
<span class='line'>784</span>  *   serialNumber    CertificateSerialNumber }
<span class='line'>785</span>  * &lt;/pre>
<span class='line'>786</span>  * Following properties are available in "params" of the constructor:
<span class='line'>787</span>  * &lt;ul>
<span class='line'>788</span>  * &lt;li>{String}alg (OPTION) - hash algorithm name. Default is "sha1" (ex, "sha1")&lt;/li>
<span class='line'>789</span>  * &lt;li>{String}issname (OPTION) - hexadecimal string of issuerNameHash&lt;/li>
<span class='line'>790</span>  * &lt;li>{String}isskey (OPTION) - hexadecimal string of issuerKeyHash&lt;/li>
<span class='line'>791</span>  * &lt;li>{String}sbjsn (OPTION) - hexadecimal string of serial number of subject certificate&lt;/li>
<span class='line'>792</span>  * &lt;li>{String}issuerCert (OPTION) - PEM string of issuer certificate.
<span class='line'>793</span>  * Property "issname" and "isskey" will be set by "issuerCert".&lt;/li>
<span class='line'>794</span>  * &lt;li>{String}subjectCert (OPTION) - PEM string of issuer certificate.
<span class='line'>795</span>  * Property "sbjsn" will be set by "subjectCert".&lt;/li>
<span class='line'>796</span>  * &lt;/ul>
<span class='line'>797</span>  * &lt;br/>
<span class='line'>798</span>  * NOTE: Properties "namehash", "keyhash" and "serial" are
<span class='line'>799</span>  * changed to "issname", "isskey", and "sbjsn" respectively
<span class='line'>800</span>  * since jsrsasign 9.1.6 asn1ocsp 1.1.0.
<span class='line'>801</span>  *
<span class='line'>802</span>  * @example
<span class='line'>803</span>  * // constructor with explicit values (changed since jsrsasign 9.1.6)
<span class='line'>804</span>  * new KJUR.asn1.ocsp.CertID({issname: "1a...", isskey: "ad...", sbjsn: "1234", alg: "sha256"});
<span class='line'>805</span>  *
<span class='line'>806</span>  * // constructor with certs (sha1 is used by default)
<span class='line'>807</span>  * o = new KJUR.asn1.ocsp.CertID({issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN..."});
<span class='line'>808</span>  *
<span class='line'>809</span>  * // constructor with certs and sha256
<span class='line'>810</span>  * o = new KJUR.asn1.ocsp.CertID({issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN...", alg: "sha256"});
<span class='line'>811</span>  */</span><span class="WHIT">
<span class='line'>812</span> </span><span class="NAME">KJUR.asn1.ocsp.CertID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>813</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_KJUR</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>814</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>815</span> </span><span class="WHIT">	</span><span class="NAME">_DEROctetString</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DEROctetString</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>816</span> </span><span class="WHIT">	</span><span class="NAME">_DERInteger</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERInteger</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>817</span> </span><span class="WHIT">	</span><span class="NAME">_DERSequence</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERSequence</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>818</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_x509</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.x509</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>819</span> </span><span class="WHIT">	</span><span class="NAME">_AlgorithmIdentifier</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_x509.AlgorithmIdentifier</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>820</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_ocsp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>821</span> </span><span class="WHIT">	</span><span class="NAME">_DEFAULT_HASH</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.DEFAULT_HASH</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>822</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_crypto</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR.crypto</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>823</span> </span><span class="WHIT">	</span><span class="NAME">_hashHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_crypto.Util.hashHex</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>824</span> </span><span class="WHIT">	</span><span class="NAME">_X509</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>825</span> </span><span class="WHIT">	</span><span class="NAME">_ASN1HEX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">ASN1HEX</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>826</span> </span><span class="WHIT">	</span><span class="NAME">_getVbyList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getVbyList</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>827</span> 
<span class='line'>828</span> </span><span class="WHIT">    </span><span class="NAME">_KJUR_asn1_ocsp.CertID.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>829</span> 
<span class='line'>830</span> </span><span class="WHIT">    </span><span class="NAME">this.DEFAULT_HASH</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"sha1"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>831</span> </span><span class="WHIT">    </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>832</span> 
<span class='line'>833</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>834</span>      * set CertID ASN.1 object by values.&lt;br/>
<span class='line'>835</span>      * @name setByValue
<span class='line'>836</span>      * @memberOf KJUR.asn1.ocsp.CertID#
<span class='line'>837</span>      * @function
<span class='line'>838</span>      * @param {String} issuerNameHashHex hexadecimal string of hash value of issuer name
<span class='line'>839</span>      * @param {String} issuerKeyHashHex hexadecimal string of hash value of issuer public key
<span class='line'>840</span>      * @param {String} serialNumberHex hexadecimal string of certificate serial number to be verified
<span class='line'>841</span>      * @param {String} algName hash algorithm name used for above arguments (ex. "sha1") DEFAULT: sha1
<span class='line'>842</span>      * @since jsrsasign 6.1.0 asn1ocsp 1.0.0
<span class='line'>843</span>      * @example
<span class='line'>844</span>      * o = new KJUR.asn1.ocsp.CertID();
<span class='line'>845</span>      * o.setByValue("1fac...", "fd3a...", "1234"); // sha1 is used by default
<span class='line'>846</span>      * o.setByValue("1fac...", "fd3a...", "1234", "sha256");
<span class='line'>847</span>      */</span><span class="WHIT">
<span class='line'>848</span> </span><span class="WHIT">    </span><span class="NAME">this.setByValue</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">issuerNameHashHex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">issuerKeyHashHex</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>849</span> </span><span class="WHIT">			       </span><span class="NAME">serialNumberHex</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>850</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">algName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.DEFAULT_HASH</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>851</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>852</span> </span><span class="WHIT">	    </span><span class="NAME">alg</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>853</span> </span><span class="WHIT">	    </span><span class="NAME">issname</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">issuerNameHashHex</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>854</span> </span><span class="WHIT">	    </span><span class="NAME">isskey</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">issuerKeyHashHex</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>855</span> </span><span class="WHIT">	    </span><span class="NAME">sbjsn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">serialNumberHex</span><span class="WHIT">
<span class='line'>856</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>857</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>858</span> 
<span class='line'>859</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>860</span>      * set CertID ASN.1 object by PEM certificates.&lt;br/>
<span class='line'>861</span>      * @name setByCert
<span class='line'>862</span>      * @memberOf KJUR.asn1.ocsp.CertID#
<span class='line'>863</span>      * @function
<span class='line'>864</span>      * @param {String} issuerCert string of PEM issuer certificate
<span class='line'>865</span>      * @param {String} subjectCert string of PEM subject certificate to be verified by OCSP
<span class='line'>866</span>      * @param {String} algName hash algorithm name used for above arguments (ex. "sha1") DEFAULT: sha1
<span class='line'>867</span>      * @since jsrsasign 6.1.0 asn1ocsp 1.0.0
<span class='line'>868</span>      * @deprecated since jsrsasign 10.5.7 asn1ocsp 1.1.6. Please use setByParam instead.
<span class='line'>869</span>      *
<span class='line'>870</span>      * @example
<span class='line'>871</span>      * o = new KJUR.asn1.ocsp.CertID();
<span class='line'>872</span>      * o.setByCert("-----BEGIN...", "-----BEGIN..."); // sha1 is used by default
<span class='line'>873</span>      * o.setByCert("-----BEGIN...", "-----BEGIN...", "sha256");
<span class='line'>874</span>      */</span><span class="WHIT">
<span class='line'>875</span> </span><span class="WHIT">    </span><span class="NAME">this.setByCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">issuerCert</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">subjectCert</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>876</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">algName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.DEFAULT_HASH</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>877</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>878</span> </span><span class="WHIT">	    </span><span class="NAME">alg</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>879</span> </span><span class="WHIT">	    </span><span class="NAME">issuerCert</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">issuerCert</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>880</span> </span><span class="WHIT">	    </span><span class="NAME">subjectCert</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">subjectCert</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>881</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>882</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>883</span> 
<span class='line'>884</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>885</span>      * calculate CertID parameter by certificates.&lt;br/>
<span class='line'>886</span>      * @name getParamByCerts
<span class='line'>887</span>      * @memberOf KJUR.asn1.ocsp.CertID#
<span class='line'>888</span>      * @function
<span class='line'>889</span>      * @param {string} issuerCert string of PEM issuer certificate
<span class='line'>890</span>      * @param {string} subjectCert string of PEM subject certificate to be verified by OCSP
<span class='line'>891</span>      * @param {string} algName hash algorithm name used for above arguments (ex. "sha1") DEFAULT: sha1
<span class='line'>892</span>      * @param {object} associative array with alg, issname, isskey and sbjsn members
<span class='line'>893</span>      * @since jsrsasign 10.5.7 asn1ocsp 1.1.6
<span class='line'>894</span>      *
<span class='line'>895</span>      * @description
<span class='line'>896</span>      * This method calculates issuer name hash, issuer key hash and subject serial
<span class='line'>897</span>      * number then returns an associative array with alg, issname, isskey and sbjsn members.
<span class='line'>898</span>      *
<span class='line'>899</span>      * @example
<span class='line'>900</span>      * o = new KJUR.asn1.ocsp.CertID();
<span class='line'>901</span>      * o.getParamByCerts("-----BEGIN...", "-----BEGIN...", "sha256") &rarr;
<span class='line'>902</span>      * {
<span class='line'>903</span>      *   alg: "sha256",
<span class='line'>904</span>      *   issname: "12abcd...",
<span class='line'>905</span>      *   isskey: "23cdef...",
<span class='line'>906</span>      *   sbjsn: "57b3..."
<span class='line'>907</span>      * }
<span class='line'>908</span>      */</span><span class="WHIT">
<span class='line'>909</span> </span><span class="WHIT">    </span><span class="NAME">this.getParamByCerts</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">issCert</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sbjCert</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>910</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">algName</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.DEFAULT_HASH</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>911</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">xISS</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_X509</span><span class="PUNC">(</span><span class="NAME">issCert</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>912</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">xSBJ</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_X509</span><span class="PUNC">(</span><span class="NAME">sbjCert</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>913</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">issname</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_hashHex</span><span class="PUNC">(</span><span class="NAME">xISS.getSubjectHex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>914</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hSPKI</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">xISS.getPublicKeyHex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>915</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">isskey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_hashHex</span><span class="PUNC">(</span><span class="NAME">_getVbyList</span><span class="PUNC">(</span><span class="NAME">hSPKI</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"03"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>916</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sbjsn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">xSBJ.getSerialNumberHex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>917</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">info</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>918</span> </span><span class="WHIT">	    </span><span class="NAME">alg</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">algName</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>919</span> </span><span class="WHIT">	    </span><span class="NAME">issname</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">issname</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>920</span> </span><span class="WHIT">	    </span><span class="NAME">isskey</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">isskey</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>921</span> </span><span class="WHIT">	    </span><span class="NAME">sbjsn</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">sbjsn</span><span class="WHIT">
<span class='line'>922</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>923</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">info</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>924</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>925</span> 
<span class='line'>926</span> </span><span class="WHIT">    </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>927</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="STRN">"object"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"params not set"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>928</span> </span><span class="WHIT">	    
<span class='line'>929</span> 	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>930</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">issname</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">isskey</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">sbjsn</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">alg</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>931</span> 
<span class='line'>932</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">p.alg</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>933</span> </span><span class="WHIT">	    </span><span class="NAME">alg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.DEFAULT_HASH</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>934</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>935</span> </span><span class="WHIT">	    </span><span class="NAME">alg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p.alg</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>936</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>937</span> 
<span class='line'>938</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">p.issuerCert</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
<span class='line'>939</span> </span><span class="WHIT">	    </span><span class="NAME">p.subjectCert</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>940</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">info</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getParamByCerts</span><span class="PUNC">(</span><span class="NAME">p.issuerCert</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">p.subjectCert</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">alg</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>941</span> </span><span class="WHIT">	    </span><span class="NAME">issname</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">info.issname</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>942</span> </span><span class="WHIT">	    </span><span class="NAME">isskey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">info.isskey</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>943</span> </span><span class="WHIT">	    </span><span class="NAME">sbjsn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">info.sbjsn</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>944</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">p.issname</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
<span class='line'>945</span> </span><span class="WHIT">		   </span><span class="NAME">p.isskey</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT">
<span class='line'>946</span> </span><span class="WHIT">		   </span><span class="NAME">p.sbjsn</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>947</span> </span><span class="WHIT">	    </span><span class="NAME">issname</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p.issname</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>948</span> </span><span class="WHIT">	    </span><span class="NAME">isskey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p.isskey</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>949</span> </span><span class="WHIT">	    </span><span class="NAME">sbjsn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">p.sbjsn</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>950</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>951</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"required param members not defined"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>952</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>953</span> 
<span class='line'>954</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dAlg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_AlgorithmIdentifier</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">name</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">alg</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>955</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dIssName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DEROctetString</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">hex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">issname</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>956</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dIssKey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DEROctetString</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">hex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">isskey</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>957</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dSbjSn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERInteger</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">hex</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">sbjsn</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>958</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">dAlg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">dIssName</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">dIssKey</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">dSbjSn</span><span class="PUNC">]</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>959</span> </span><span class="WHIT">        </span><span class="NAME">this.hTLV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">seq.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>960</span> </span><span class="WHIT">        </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.hTLV</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>961</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>962</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>963</span> 
<span class='line'>964</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.setByParam</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>965</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>966</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.CertID</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>967</span> 
<span class='line'>968</span> </span><span class="COMM">/**
<span class='line'>969</span>  * CertStatus ASN.1 class encoder&lt;br/>
<span class='line'>970</span>  * @name KJUR.asn1.ocsp.CertStatus
<span class='line'>971</span>  * @class CertStatus ASN.1 class encoder
<span class='line'>972</span>  * @param {Array} params JSON object for CertStatus parameter
<span class='line'>973</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>974</span>  * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>975</span>  * @see KJUR.asn1.ocsp.OCSPResponse
<span class='line'>976</span>  * @see KJUR.asn1.ocsp.ResponseBytes
<span class='line'>977</span>  * @see KJUR.asn1.ocsp.BasicOCSPResponse
<span class='line'>978</span>  * @see KJUR.asn1.ocsp.ResponseData
<span class='line'>979</span>  * @see KJUR.asn1.ocsp.SingleResponse
<span class='line'>980</span>  * @see KJUR.asn1.ocsp.CertID
<span class='line'>981</span>  * @see KJUR.asn1.ocsp.CertStatus
<span class='line'>982</span>  *
<span class='line'>983</span>  * @description
<span class='line'>984</span>  * ASN.1 class of SEQUENCE OF SingleResponse is defined in 
<span class='line'>985</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>986</span>  * &lt;pre>
<span class='line'>987</span>  * CertStatus ::= CHOICE {
<span class='line'>988</span>  *     good        [0]     IMPLICIT NULL,
<span class='line'>989</span>  *     revoked     [1]     IMPLICIT RevokedInfo,
<span class='line'>990</span>  *     unknown     [2]     IMPLICIT UnknownInfo }
<span class='line'>991</span>  * RevokedInfo ::= SEQUENCE {
<span class='line'>992</span>  *     revocationTime              GeneralizedTime,
<span class='line'>993</span>  *     revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }
<span class='line'>994</span>  * UnknownInfo ::= NULL
<span class='line'>995</span>  * CRLReason ::= ENUMERATED {
<span class='line'>996</span>  *      unspecified             (0),
<span class='line'>997</span>  *      keyCompromise           (1),
<span class='line'>998</span>  *      cACompromise            (2),
<span class='line'>999</span>  *      affiliationChanged      (3),
<span class='line'>1000</span>  *      superseded              (4),
<span class='line'>1001</span>  *      cessationOfOperation    (5),
<span class='line'>1002</span>  *      certificateHold         (6),
<span class='line'>1003</span>  *           -- value 7 is not used
<span class='line'>1004</span>  *      removeFromCRL           (8),
<span class='line'>1005</span>  *      privilegeWithdrawn      (9),
<span class='line'>1006</span>  *      aACompromise           (10) }
<span class='line'>1007</span>  * &lt;/pre>
<span class='line'>1008</span>  * Following properties are available:
<span class='line'>1009</span>  * &lt;ul>
<span class='line'>1010</span>  * &lt;li>{String}status - "good", "revoked" or "unknown"&lt;/li>
<span class='line'>1011</span>  * &lt;li>{String}time (OPTION) - revocationTime YYYYMMDDHHmmSSZ (ex. "20200904235959Z")&lt;/li>
<span class='line'>1012</span>  * &lt;li>{Number}reason (OPTION) - revocationReason code number&lt;/li>
<span class='line'>1013</span>  * &lt;/ul>
<span class='line'>1014</span>  *
<span class='line'>1015</span>  * @example
<span class='line'>1016</span>  * new KJUR.asn1.ocsp.CertStatus({status: "good"})
<span class='line'>1017</span>  * new KJUR.asn1.ocsp.CertStatus({status: "revoked", time: "20200903235959Z"})
<span class='line'>1018</span>  * new KJUR.asn1.ocsp.CertStatus({status: "revoked", time: "20200903235959Z", reason: 3})
<span class='line'>1019</span>  * new KJUR.asn1.ocsp.CertStatus({status: "unknown"})
<span class='line'>1020</span>  */</span><span class="WHIT">
<span class='line'>1021</span> </span><span class="NAME">KJUR.asn1.ocsp.CertStatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1022</span> </span><span class="WHIT">    </span><span class="NAME">KJUR.asn1.ocsp.CertStatus.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1023</span> 
<span class='line'>1024</span> </span><span class="WHIT">    </span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1025</span> 
<span class='line'>1026</span> </span><span class="WHIT">    </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1027</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1028</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.status</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"good"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"8000"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1029</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.status</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"unknown"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="STRN">"8200"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1030</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.status</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"revoked"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1031</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">{</span><span class="NAME">gentime</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">str</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">params.time</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1032</span> </span><span class="WHIT">	    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.reason</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1033</span> </span><span class="WHIT">		</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'a0'</span><span class="PUNC">,</span><span class="WHIT"> 
<span class='line'>1034</span> 			      </span><span class="NAME">explicit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">true</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1035</span> </span><span class="WHIT">			      </span><span class="NAME">obj</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="STRN">'enum'</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="STRN">'int'</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">params.reason</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1036</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1037</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">tagParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">'a1'</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">explicit</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="KEYW">false</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">obj</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">seq</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">}</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1038</span> </span><span class="WHIT">	    </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Util.newObject</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">tag</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">tagParam</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">.</span><span class="NAME">tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1039</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1040</span> </span><span class="WHIT">	</span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">(</span><span class="STRN">"bad status"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1041</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1042</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1043</span> 
<span class='line'>1044</span> </span><span class="WHIT">    </span><span class="NAME">this.setByParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1045</span> </span><span class="WHIT">	</span><span class="NAME">this.params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1046</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1047</span> 
<span class='line'>1048</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">this.setByParam</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1049</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1050</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.CertStatus</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1051</span> 
<span class='line'>1052</span> </span><span class="COMM">// ---- END OF Classes for OCSP response -----------------------------------</span><span class="WHIT">
<span class='line'>1053</span> 
<span class='line'>1054</span> </span><span class="COMM">/**
<span class='line'>1055</span>  * ASN.1 Request class for OCSP&lt;br/>
<span class='line'>1056</span>  * @name KJUR.asn1.ocsp.Request
<span class='line'>1057</span>  * @class ASN.1 Request class for OCSP
<span class='line'>1058</span>  * @param {Array} params associative array of parameters
<span class='line'>1059</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>1060</span>  * @since jsrsasign 6.1.0 asn1ocsp 1.0.0
<span class='line'>1061</span>  * @description
<span class='line'>1062</span>  * Request ASN.1 class is defined in 
<span class='line'>1063</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.1.1">RFC 6960 4.1.1&lt;/a>. 
<span class='line'>1064</span>  * singleRequestExtensions is not supported yet in this version such as nonce.
<span class='line'>1065</span>  * &lt;pre>
<span class='line'>1066</span>  * Request ::= SEQUENCE {
<span class='line'>1067</span>  *   reqCert                  CertID,
<span class='line'>1068</span>  *   singleRequestExtensions  [0] EXPLICIT Extensions OPTIONAL }
<span class='line'>1069</span>  * &lt;/pre>
<span class='line'>1070</span>  * @example
<span class='line'>1071</span>  * // default constructor
<span class='line'>1072</span>  * o = new KJUR.asn1.ocsp.Request();
<span class='line'>1073</span>  * // constructor with certs (sha1 is used by default)
<span class='line'>1074</span>  * o = new KJUR.asn1.ocsp.Request({issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN..."});
<span class='line'>1075</span>  * // constructor with certs and sha256
<span class='line'>1076</span>  * o = new KJUR.asn1.ocsp.Request({issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN...", alg: "sha256"});
<span class='line'>1077</span>  * // constructor with values
<span class='line'>1078</span>  * o = new KJUR.asn1.ocsp.Request({namehash: "1a...", keyhash: "ad...", serial: "1234", alg: "sha256"});
<span class='line'>1079</span>  */</span><span class="WHIT">
<span class='line'>1080</span> </span><span class="NAME">KJUR.asn1.ocsp.Request</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1081</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_KJUR</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1082</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1083</span> </span><span class="WHIT">	</span><span class="NAME">_DERSequence</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERSequence</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1084</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_ocsp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1085</span> </span><span class="WHIT">    
<span class='line'>1086</span>     </span><span class="NAME">_KJUR_asn1_ocsp.Request.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1087</span> </span><span class="WHIT">    </span><span class="NAME">this.dReqCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1088</span> </span><span class="WHIT">    </span><span class="NAME">this.dExt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1089</span> </span><span class="WHIT">    
<span class='line'>1090</span>     </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1091</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1092</span> 
<span class='line'>1093</span> </span><span class="WHIT">	</span><span class="COMM">// 1. reqCert</span><span class="WHIT">
<span class='line'>1094</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.dReqCert</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT">
<span class='line'>1095</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"reqCert not set"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1096</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="NAME">this.dReqCert</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1097</span> 
<span class='line'>1098</span> </span><span class="WHIT">	</span><span class="COMM">// 2. singleRequestExtensions (not supported yet)</span><span class="WHIT">
<span class='line'>1099</span> 
<span class='line'>1100</span> </span><span class="WHIT">	</span><span class="COMM">// 3. construct SEQUENCE</span><span class="WHIT">
<span class='line'>1101</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1102</span> </span><span class="WHIT">        </span><span class="NAME">this.hTLV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">seq.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1103</span> </span><span class="WHIT">        </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.hTLV</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1104</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1105</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1106</span> 
<span class='line'>1107</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">typeof</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="STRN">"undefined"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1108</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.CertID</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1109</span> </span><span class="WHIT">	</span><span class="NAME">this.dReqCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1110</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1111</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1112</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.Request</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1113</span> 
<span class='line'>1114</span> </span><span class="COMM">/**
<span class='line'>1115</span>  * ASN.1 TBSRequest class for OCSP&lt;br/>
<span class='line'>1116</span>  * @name KJUR.asn1.ocsp.TBSRequest
<span class='line'>1117</span>  * @class ASN.1 TBSRequest class for OCSP
<span class='line'>1118</span>  * @param {Array} params associative array of parameters
<span class='line'>1119</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>1120</span>  * @since jsrsasign 6.1.0 asn1ocsp 1.0.0
<span class='line'>1121</span>  * @description
<span class='line'>1122</span>  * TBSRequest ASN.1 class is defined in 
<span class='line'>1123</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.1.1">RFC 6960 4.1.1&lt;/a>. 
<span class='line'>1124</span>  * &lt;pre>
<span class='line'>1125</span>  * TBSRequest ::= SEQUENCE {
<span class='line'>1126</span>  *   version            [0] EXPLICIT Version DEFAULT v1,
<span class='line'>1127</span>  *   requestorName      [1] EXPLICIT GeneralName OPTIONAL,
<span class='line'>1128</span>  *   requestList            SEQUENCE OF Request,
<span class='line'>1129</span>  *   requestExtensions  [2] EXPLICIT Extensions OPTIONAL }
<span class='line'>1130</span>  * &lt;/pre>
<span class='line'>1131</span>  * @example
<span class='line'>1132</span>  * // default constructor
<span class='line'>1133</span>  * o = new KJUR.asn1.ocsp.TBSRequest();
<span class='line'>1134</span>  * // constructor with requestList parameter
<span class='line'>1135</span>  * o = new KJUR.asn1.ocsp.TBSRequest({reqList:[
<span class='line'>1136</span>  *   {issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN...", alg:},
<span class='line'>1137</span>  *   {issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN...", alg: "sha256"}
<span class='line'>1138</span>  * ]});
<span class='line'>1139</span>  */</span><span class="WHIT">
<span class='line'>1140</span> </span><span class="NAME">KJUR.asn1.ocsp.TBSRequest</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1141</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_KJUR</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1142</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1143</span> </span><span class="WHIT">	</span><span class="NAME">_DERSequence</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERSequence</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1144</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_ocsp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1145</span> 
<span class='line'>1146</span> </span><span class="WHIT">    </span><span class="NAME">_KJUR_asn1_ocsp.TBSRequest.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1147</span> </span><span class="WHIT">    </span><span class="NAME">this.version</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1148</span> </span><span class="WHIT">    </span><span class="NAME">this.dRequestorName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1149</span> </span><span class="WHIT">    </span><span class="NAME">this.dRequestList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1150</span> </span><span class="WHIT">    </span><span class="NAME">this.dRequestExt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1151</span> 
<span class='line'>1152</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1153</span>      * set TBSRequest ASN.1 object by array of parameters.&lt;br/>
<span class='line'>1154</span>      * @name setRequestListByParam
<span class='line'>1155</span>      * @memberOf KJUR.asn1.ocsp.TBSRequest#
<span class='line'>1156</span>      * @function
<span class='line'>1157</span>      * @param {Array} aParams array of parameters for Request class
<span class='line'>1158</span>      * @since jsrsasign 6.1.0 asn1ocsp 1.0.0
<span class='line'>1159</span>      * @example
<span class='line'>1160</span>      * o = new KJUR.asn1.ocsp.TBSRequest();
<span class='line'>1161</span>      * o.setRequestListByParam([
<span class='line'>1162</span>      *   {issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN...", alg:},
<span class='line'>1163</span>      *   {issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN...", alg: "sha256"}
<span class='line'>1164</span>      * ]);
<span class='line'>1165</span>      */</span><span class="WHIT">
<span class='line'>1166</span> </span><span class="WHIT">    </span><span class="NAME">this.setRequestListByParam</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">aParams</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1167</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1168</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">aParams.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1169</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">dReq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.Request</span><span class="PUNC">(</span><span class="NAME">aParams</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1170</span> </span><span class="WHIT">	    </span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="NAME">dReq</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1171</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1172</span> </span><span class="WHIT">	</span><span class="NAME">this.dRequestList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1173</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1174</span> 
<span class='line'>1175</span> </span><span class="WHIT">    </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1176</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1177</span> 
<span class='line'>1178</span> </span><span class="WHIT">	</span><span class="COMM">// 1. version</span><span class="WHIT">
<span class='line'>1179</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.version</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT">
<span class='line'>1180</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"not supported version: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">this.version</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1181</span> 
<span class='line'>1182</span> </span><span class="WHIT">	</span><span class="COMM">// 2. requestorName</span><span class="WHIT">
<span class='line'>1183</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.dRequestorName</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT">
<span class='line'>1184</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"requestorName not supported"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1185</span> 
<span class='line'>1186</span> </span><span class="WHIT">	</span><span class="COMM">// 3. requestList</span><span class="WHIT">
<span class='line'>1187</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seqRequestList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> 
<span class='line'>1188</span> 	    </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">this.dRequestList</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1189</span> </span><span class="WHIT">	</span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="NAME">seqRequestList</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1190</span> 
<span class='line'>1191</span> </span><span class="WHIT">	</span><span class="COMM">// 4. requestExtensions</span><span class="WHIT">
<span class='line'>1192</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.dRequestExt</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT">
<span class='line'>1193</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"requestExtensions not supported"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1194</span> 
<span class='line'>1195</span> </span><span class="WHIT">	</span><span class="COMM">// 5. construct SEQUENCE</span><span class="WHIT">
<span class='line'>1196</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1197</span> </span><span class="WHIT">        </span><span class="NAME">this.hTLV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">seq.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1198</span> </span><span class="WHIT">        </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.hTLV</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1199</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1200</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1201</span> 
<span class='line'>1202</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1203</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.reqList</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT">
<span class='line'>1204</span> </span><span class="WHIT">	    </span><span class="NAME">this.setRequestListByParam</span><span class="PUNC">(</span><span class="NAME">params.reqList</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1205</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1206</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1207</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.TBSRequest</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1208</span> 
<span class='line'>1209</span> 
<span class='line'>1210</span> </span><span class="COMM">/**
<span class='line'>1211</span>  * ASN.1 OCSPRequest class for OCSP&lt;br/>
<span class='line'>1212</span>  * @name KJUR.asn1.ocsp.OCSPRequest
<span class='line'>1213</span>  * @class ASN.1 OCSPRequest class for OCSP
<span class='line'>1214</span>  * @param {Array} params associative array of parameters
<span class='line'>1215</span>  * @extends KJUR.asn1.ASN1Object
<span class='line'>1216</span>  * @since jsrsasign 6.1.0 asn1ocsp 1.0.0
<span class='line'>1217</span>  * @description
<span class='line'>1218</span>  * OCSPRequest ASN.1 class is defined in 
<span class='line'>1219</span>  * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.1.1">RFC 6960 4.1.1&lt;/a>. 
<span class='line'>1220</span>  * A signed request is not supported yet in this version.
<span class='line'>1221</span>  * &lt;pre>
<span class='line'>1222</span>  * OCSPRequest ::= SEQUENCE {
<span class='line'>1223</span>  *   tbsRequest             TBSRequest,
<span class='line'>1224</span>  *   optionalSignature  [0] EXPLICIT Signature OPTIONAL }
<span class='line'>1225</span>  * &lt;/pre>
<span class='line'>1226</span>  * @example
<span class='line'>1227</span>  * // default constructor
<span class='line'>1228</span>  * o = new KJUR.asn1.ocsp.OCSPRequest();
<span class='line'>1229</span>  * // constructor with requestList parameter
<span class='line'>1230</span>  * o = new KJUR.asn1.ocsp.OCSPRequest({reqList:[
<span class='line'>1231</span>  *   {issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN...", alg:},
<span class='line'>1232</span>  *   {issuerCert: "-----BEGIN...", subjectCert: "-----BEGIN...", alg: "sha256"}
<span class='line'>1233</span>  * ]});
<span class='line'>1234</span>  */</span><span class="WHIT">
<span class='line'>1235</span> </span><span class="NAME">KJUR.asn1.ocsp.OCSPRequest</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1236</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_KJUR</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1237</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1238</span> </span><span class="WHIT">	</span><span class="NAME">_DERSequence</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.DERSequence</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1239</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_ocsp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1240</span> 
<span class='line'>1241</span> </span><span class="WHIT">    </span><span class="NAME">_KJUR_asn1_ocsp.OCSPRequest.superclass.constructor.call</span><span class="PUNC">(</span><span class="KEYW">this</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1242</span> </span><span class="WHIT">    </span><span class="NAME">this.dTbsRequest</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1243</span> </span><span class="WHIT">    </span><span class="NAME">this.dOptionalSignature</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1244</span> 
<span class='line'>1245</span> </span><span class="WHIT">    </span><span class="NAME">this.tohex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1246</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1247</span> 
<span class='line'>1248</span> </span><span class="WHIT">	</span><span class="COMM">// 1. tbsRequest</span><span class="WHIT">
<span class='line'>1249</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.dTbsRequest</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1250</span> </span><span class="WHIT">	    </span><span class="NAME">a.push</span><span class="PUNC">(</span><span class="NAME">this.dTbsRequest</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1251</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1252</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"tbsRequest not set"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1253</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1254</span> 
<span class='line'>1255</span> </span><span class="WHIT">	</span><span class="COMM">// 2. optionalSignature</span><span class="WHIT">
<span class='line'>1256</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">this.dOptionalSignature</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT">
<span class='line'>1257</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="STRN">"optionalSignature not supported"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1258</span> 
<span class='line'>1259</span> </span><span class="WHIT">	</span><span class="COMM">// 3. construct SEQUENCE</span><span class="WHIT">
<span class='line'>1260</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">seq</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_DERSequence</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">array</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1261</span> </span><span class="WHIT">        </span><span class="NAME">this.hTLV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">seq.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1262</span> </span><span class="WHIT">        </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.hTLV</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1263</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1264</span> </span><span class="WHIT">    </span><span class="NAME">this.getEncodedHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">this.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1265</span> 
<span class='line'>1266</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1267</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">params.reqList</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1268</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.TBSRequest</span><span class="PUNC">(</span><span class="NAME">params</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1269</span> </span><span class="WHIT">	    </span><span class="NAME">this.dTbsRequest</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">o</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1270</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1271</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1272</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1273</span> </span><span class="NAME">extendClass</span><span class="PUNC">(</span><span class="NAME">KJUR.asn1.ocsp.OCSPRequest</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.ASN1Object</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1274</span> 
<span class='line'>1275</span> </span><span class="COMM">/**
<span class='line'>1276</span>  * Utility class for OCSP&lt;br/>
<span class='line'>1277</span>  * @name KJUR.asn1.ocsp.OCSPUtil
<span class='line'>1278</span>  * @class Utility class for OCSP
<span class='line'>1279</span>  * @since jsrsasign 6.1.0 asn1ocsp 1.0.0
<span class='line'>1280</span>  * @description
<span class='line'>1281</span>  * This class provides utility static methods for OCSP.
<span class='line'>1282</span>  * &lt;ul>
<span class='line'>1283</span>  * &lt;li>{@link KJUR.asn1.ocsp.OCSPUtil.getRequestHex} - generates hexadecimal string of OCSP request&lt;/li>
<span class='line'>1284</span>  * &lt;/ul>
<span class='line'>1285</span>  */</span><span class="WHIT">
<span class='line'>1286</span> </span><span class="NAME">KJUR.asn1.ocsp.OCSPUtil</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1287</span> 
<span class='line'>1288</span> </span><span class="COMM">/**
<span class='line'>1289</span>  * generates hexadecimal string of OCSP request&lt;br/>
<span class='line'>1290</span>  * @name getRequestHex
<span class='line'>1291</span>  * @memberOf KJUR.asn1.ocsp.OCSPUtil
<span class='line'>1292</span>  * @function
<span class='line'>1293</span>  * @param {String} issuerCert string of PEM issuer certificate
<span class='line'>1294</span>  * @param {String} subjectCert string of PEM subject certificate to be verified by OCSP
<span class='line'>1295</span>  * @param {String} algName hash algorithm name used for above arguments (ex. "sha1") DEFAULT: sha1
<span class='line'>1296</span>  * @return {String} hexadecimal string of generated OCSP request
<span class='line'>1297</span>  * @since jsrsasign 6.1.0 asn1ocsp 1.0.0
<span class='line'>1298</span>  * @description
<span class='line'>1299</span>  * This static method generates hexadecimal string of OCSP request.
<span class='line'>1300</span>  * @example
<span class='line'>1301</span>  * // generate OCSP request using sha1 algorithnm by default.
<span class='line'>1302</span>  * hReq = KJUR.asn1.ocsp.OCSPUtil.getRequestHex("-----BEGIN...", "-----BEGIN...");
<span class='line'>1303</span>  */</span><span class="WHIT">
<span class='line'>1304</span> </span><span class="NAME">KJUR.asn1.ocsp.OCSPUtil.getRequestHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">issuerCert</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">subjectCert</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">alg</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1305</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_KJUR</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1306</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR.asn1</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1307</span> </span><span class="WHIT">	</span><span class="NAME">_KJUR_asn1_ocsp</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1.ocsp</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1308</span> 
<span class='line'>1309</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">alg</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="NAME">undefined</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">alg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.DEFAULT_HASH</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1310</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">param</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">alg</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">alg</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">issuerCert</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">issuerCert</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">subjectCert</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">subjectCert</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1311</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">o</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_KJUR_asn1_ocsp.OCSPRequest</span><span class="PUNC">(</span><span class="PUNC">{</span><span class="NAME">reqList</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">param</span><span class="PUNC">]</span><span class="PUNC">}</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1312</span> </span><span class="WHIT">    </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">o.tohex</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1313</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1314</span> 
<span class='line'>1315</span> </span><span class="COMM">/**
<span class='line'>1316</span>  * simple parser for OCSPResponse (DEPRECATED)&lt;br/>
<span class='line'>1317</span>  * @name getOCSPResponseInfo
<span class='line'>1318</span>  * @memberOf KJUR.asn1.ocsp.OCSPUtil
<span class='line'>1319</span>  * @function
<span class='line'>1320</span>  * @param {String} h hexadecimal string of DER OCSPResponse
<span class='line'>1321</span>  * @return {Object} JSON object of parsed OCSPResponse
<span class='line'>1322</span>  * @since jsrsasign 6.1.0 asn1ocsp 1.0.1
<span class='line'>1323</span>  * @deprecated since jsrsasign 10.4.0 asn1ocsp 1.1.5 Please use OCSPParser.getOCSPRespnose
<span class='line'>1324</span>  *
<span class='line'>1325</span>  * @description
<span class='line'>1326</span>  * This static method parse a hexadecimal string of DER OCSPResponse and
<span class='line'>1327</span>  * returns JSON object of its parsed result.
<span class='line'>1328</span>  * Its result has following properties:
<span class='line'>1329</span>  * &lt;ul>
<span class='line'>1330</span>  * &lt;li>responseStatus - integer of responseStatus&lt;/li>
<span class='line'>1331</span>  * &lt;li>certStatus - string of certStatus (ex. good, revoked or unknown)&lt;/li>
<span class='line'>1332</span>  * &lt;li>thisUpdate - string of thisUpdate in Zulu(ex. 20151231235959Z)&lt;/li>
<span class='line'>1333</span>  * &lt;li>nextUpdate - string of nextUpdate in Zulu(ex. 20151231235959Z)&lt;/li>
<span class='line'>1334</span>  * &lt;/ul>
<span class='line'>1335</span>  * NOTE: This method may not work preperly. Please use 
<span class='line'>1336</span>  * {@link KJUR.asn1.ocsp.OCSPParser#getOCSPResponse}.
<span class='line'>1337</span>  *
<span class='line'>1338</span>  * @example
<span class='line'>1339</span>  * info = KJUR.asn1.ocsp.OCSPUtil.getOCSPResponseInfo("3082...");
<span class='line'>1340</span>  */</span><span class="WHIT">
<span class='line'>1341</span> </span><span class="NAME">KJUR.asn1.ocsp.OCSPUtil.getOCSPResponseInfo</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1342</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">ASN1HEX</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1343</span> </span><span class="WHIT">	</span><span class="NAME">_getVbyList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getVbyList</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1344</span> </span><span class="WHIT">	</span><span class="NAME">_getVbyListEx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getVbyListEx</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1345</span> </span><span class="WHIT">	</span><span class="NAME">_getIdxbyList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getIdxbyList</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1346</span> </span><span class="WHIT">	</span><span class="NAME">_getIdxbyListEx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getIdxbyListEx</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1347</span> </span><span class="WHIT">	</span><span class="NAME">_getV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getV</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1348</span> 
<span class='line'>1349</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1350</span> </span><span class="WHIT">    </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1351</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">v</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getVbyListEx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"0a"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1352</span> </span><span class="WHIT">	</span><span class="NAME">result.responseStatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">v</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">16</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1353</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="PUNC">(</span><span class="NAME">ex</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1354</span> </span><span class="WHIT">    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">result.responseStatus</span><span class="WHIT"> </span><span class="PUNC">!==</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1355</span> 
<span class='line'>1356</span> </span><span class="WHIT">    </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1357</span> </span><span class="WHIT">	</span><span class="COMM">// certStatus</span><span class="WHIT">
<span class='line'>1358</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">idxCertStatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getIdxbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">2</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1359</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NAME">idxCertStatus</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"80"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1360</span> </span><span class="WHIT">	    </span><span class="NAME">result.certStatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"good"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1361</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NAME">idxCertStatus</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"a1"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1362</span> </span><span class="WHIT">	    </span><span class="NAME">result.certStatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"revoked"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1363</span> </span><span class="WHIT">	    </span><span class="NAME">result.revocationTime</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> 
<span class='line'>1364</span> 		</span><span class="NAME">hextoutf8</span><span class="PUNC">(</span><span class="NAME">_getVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">idxCertStatus</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1365</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">else</span><span class="WHIT"> </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NAME">idxCertStatus</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"82"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1366</span> </span><span class="WHIT">	    </span><span class="NAME">result.certStatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"unknown"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1367</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1368</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">ex</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1369</span> 
<span class='line'>1370</span> </span><span class="WHIT">    </span><span class="COMM">// thisUpdate</span><span class="WHIT">
<span class='line'>1371</span> </span><span class="WHIT">    </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1372</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">idxThisUpdate</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getIdxbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">2</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1373</span> </span><span class="WHIT">	</span><span class="NAME">result.thisUpdate</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hextoutf8</span><span class="PUNC">(</span><span class="NAME">_getV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">idxThisUpdate</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1374</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">ex</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1375</span> 
<span class='line'>1376</span> </span><span class="WHIT">    </span><span class="COMM">// nextUpdate</span><span class="WHIT">
<span class='line'>1377</span> </span><span class="WHIT">    </span><span class="KEYW">try</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1378</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">idxEncapNextUpdate</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getIdxbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">2</span><span class="PUNC">,</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1379</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NAME">idxEncapNextUpdate</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">===</span><span class="WHIT"> </span><span class="STRN">"a0"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1380</span> </span><span class="WHIT">	    </span><span class="NAME">result.nextUpdate</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> 
<span class='line'>1381</span> 		</span><span class="NAME">hextoutf8</span><span class="PUNC">(</span><span class="NAME">_getVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">idxEncapNextUpdate</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1382</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1383</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="WHIT"> </span><span class="KEYW">catch</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">ex</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1384</span> 
<span class='line'>1385</span> </span><span class="WHIT">    </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1386</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1387</span> 
<span class='line'>1388</span> </span><span class="COMM">/**
<span class='line'>1389</span>  * OCSP request and response parser&lt;br/>
<span class='line'>1390</span>  * @name KJUR.asn1.ocsp.OCSPParser
<span class='line'>1391</span>  * @class OCSP request and response parser
<span class='line'>1392</span>  * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>1393</span>  *
<span class='line'>1394</span>  * @description
<span class='line'>1395</span>  * This class provides ASN.1 parser for
<span class='line'>1396</span>  * OCSP related ASN.1 data. &lt;br/>
<span class='line'>1397</span>  * NOTE: OCSPResponse parser supported from jsrsasign 10.4.0.
<span class='line'>1398</span>  * &lt;br/>
<span class='line'>1399</span>  * This parser supports following OCSP ASN.1 classes:
<span class='line'>1400</span>  * &lt;ul>
<span class='line'>1401</span>  * &lt;li>OCSP REQUEST
<span class='line'>1402</span>  * &lt;ul>
<span class='line'>1403</span>  * &lt;li>OCSPRequest - {@link KJUR.asn1.ocsp.OCSPParser#getOCSPRequest}&lt;/li>
<span class='line'>1404</span>  * &lt;li>TBSRequest - {@link KJUR.asn1.ocsp.OCSPParser#getTBSRequest}&lt;/li>
<span class='line'>1405</span>  * &lt;li>SEQUENCE OF Request - {@link KJUR.asn1.ocsp.OCSPParser#getRequestList}&lt;/li>
<span class='line'>1406</span>  * &lt;li>Request - {@link KJUR.asn1.ocsp.OCSPParser#getRequest}&lt;/li>
<span class='line'>1407</span>  * &lt;/ul>
<span class='line'>1408</span>  * &lt;/li>
<span class='line'>1409</span>  * &lt;li>OCSP RESPONSE
<span class='line'>1410</span>  * &lt;ul>
<span class='line'>1411</span>  * &lt;li>OCSPResponse - {@link KJUR.asn1.ocsp.OCSPParser#getOCSPResponse}&lt;/li>
<span class='line'>1412</span>  * &lt;li>ResponseBytes - {@link KJUR.asn1.ocsp.OCSPParser#getResponseBytes}&lt;/li>
<span class='line'>1413</span>  * &lt;li>BasicOCSPResponse - {@link KJUR.asn1.ocsp.OCSPParser#getBasicOCSPResponse}&lt;/li>
<span class='line'>1414</span>  * &lt;li>ResponseData - {@link KJUR.asn1.ocsp.OCSPParser#getResponseData}&lt;/li>
<span class='line'>1415</span>  * &lt;li>ResponderID - {@link KJUR.asn1.ocsp.OCSPParser#getResponderID}&lt;/li>
<span class='line'>1416</span>  * &lt;li>SEQUENCE OF SingleResponse - {@link KJUR.asn1.ocsp.OCSPParser#getSingleResponseList}&lt;/li>
<span class='line'>1417</span>  * &lt;li>SingleResponse - {@link KJUR.asn1.ocsp.OCSPParser#getSingleResponse}&lt;/li>
<span class='line'>1418</span>  * &lt;li>CertStatus - {@link KJUR.asn1.ocsp.OCSPParser#getCertStatus}&lt;/li>
<span class='line'>1419</span>  * &lt;/ul>
<span class='line'>1420</span>  * &lt;/li>
<span class='line'>1421</span>  * &lt;li>common
<span class='line'>1422</span>  * &lt;ul>
<span class='line'>1423</span>  * &lt;li>CertID - {@link KJUR.asn1.ocsp.OCSPParser#getCertID}&lt;/li>
<span class='line'>1424</span>  * &lt;/ul>
<span class='line'>1425</span>  * &lt;/li>
<span class='line'>1426</span>  * &lt;/ul>
<span class='line'>1427</span>  */</span><span class="WHIT">
<span class='line'>1428</span> </span><span class="NAME">KJUR.asn1.ocsp.OCSPParser</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1429</span> </span><span class="WHIT">    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">Error</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1430</span> </span><span class="WHIT">	</span><span class="NAME">_X509</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1431</span> </span><span class="WHIT">	</span><span class="NAME">_x509obj</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_X509</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1432</span> </span><span class="WHIT">	</span><span class="NAME">_ASN1HEX</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">ASN1HEX</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1433</span> </span><span class="WHIT">	</span><span class="NAME">_getV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getV</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1434</span> </span><span class="WHIT">	</span><span class="NAME">_getTLV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getTLV</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1435</span> </span><span class="WHIT">	</span><span class="NAME">_getIdxbyList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getIdxbyList</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1436</span> </span><span class="WHIT">	</span><span class="NAME">_getVbyList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getVbyList</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1437</span> </span><span class="WHIT">	</span><span class="NAME">_getTLVbyList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getTLVbyList</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1438</span> </span><span class="WHIT">	</span><span class="NAME">_getVbyListEx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getVbyListEx</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1439</span> </span><span class="WHIT">	</span><span class="NAME">_getTLVbyListEx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getTLVbyListEx</span><span class="PUNC">,</span><span class="WHIT">
<span class='line'>1440</span> </span><span class="WHIT">	</span><span class="NAME">_getChildIdx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_ASN1HEX.getChildIdx</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1441</span> 
<span class='line'>1442</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1443</span>      * parse ASN.1 OCSPRequest&lt;br/>
<span class='line'>1444</span>      * @name getOCSPRequest
<span class='line'>1445</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1446</span>      * @function
<span class='line'>1447</span>      * @param {String} h hexadecimal string of ASN.1 OCSPRequest
<span class='line'>1448</span>      * @return {Array} array of JSON object of OCSPRequest parameter
<span class='line'>1449</span>      * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>1450</span>      *
<span class='line'>1451</span>      * @description
<span class='line'>1452</span>      * This method will parse a hexadecimal string of 
<span class='line'>1453</span>      * OCSPRequest ASN.1 class is defined in 
<span class='line'>1454</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.1.1">RFC 6960 4.1.1&lt;/a>. 
<span class='line'>1455</span>      * &lt;pre>
<span class='line'>1456</span>      * OCSPRequest ::= SEQUENCE {
<span class='line'>1457</span>      *   tbsRequest              TBSRequest,
<span class='line'>1458</span>      *   optionalSignature  [0]  EXPLICIT Signature OPTIONAL }
<span class='line'>1459</span>      * TBSRequest  ::=  SEQUENCE {
<span class='line'>1460</span>      *   version            [0]  EXPLICIT Version DEFAULT v1,
<span class='line'>1461</span>      *   requestorName      [1]  EXPLICIT GeneralName OPTIONAL,
<span class='line'>1462</span>      *   requestList             SEQUENCE OF Request,
<span class='line'>1463</span>      *   requestExtensions  [2]  EXPLICIT Extensions OPTIONAL }
<span class='line'>1464</span>      * Signature       ::=     SEQUENCE {
<span class='line'>1465</span>      *   signatureAlgorithm      AlgorithmIdentifier,
<span class='line'>1466</span>      *   signature               BIT STRING,
<span class='line'>1467</span>      *   certs              [0] EXPLICIT SEQUENCE OF Certificate
<span class='line'>1468</span>      *                          OPTIONAL}
<span class='line'>1469</span>      * &lt;/pre>
<span class='line'>1470</span>      * Currently Signature in OCSPRequest is not supported.
<span class='line'>1471</span>      * &lt;br/>
<span class='line'>1472</span>      * 
<span class='line'>1473</span>      * @see KJUR.asn1.ocsp.OCSPParser#getTBSRequest
<span class='line'>1474</span>      * @see KJUR.asn1.ocsp.OCSPRequest
<span class='line'>1475</span>      *
<span class='line'>1476</span>      * @example
<span class='line'>1477</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1478</span>      * o.getOCSPRequest("30...") &rarr;
<span class='line'>1479</span>      * { array: [{
<span class='line'>1480</span>      *    "alg": "sha1",
<span class='line'>1481</span>      *    "issname": "105fa67a80089db5279f35ce830b43889ea3c70d",
<span class='line'>1482</span>      *    "isskey": "0f80611c823161d52f28e78d4638b42ce1c6d9e2",
<span class='line'>1483</span>      *    "sbjsn": "0fef62075d715dc5e1d8bd03775c9686" }]}
<span class='line'>1484</span>      */</span><span class="WHIT">
<span class='line'>1485</span> </span><span class="WHIT">    </span><span class="NAME">this.getOCSPRequest</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1486</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1487</span> 
<span class='line'>1488</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1489</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"wrong number elements: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1490</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1491</span> 
<span class='line'>1492</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getTBSRequest</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1493</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1494</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1495</span> 
<span class='line'>1496</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1497</span>      * parse ASN.1 TBSRequest of OCSP&lt;br/>
<span class='line'>1498</span>      * @name getTBSRequest
<span class='line'>1499</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1500</span>      * @function
<span class='line'>1501</span>      * @param {String} h hexadecimal string of ASN.1 TBSRequest of OCSP
<span class='line'>1502</span>      * @return {Array} array of JSON object of TBSRequest parameter
<span class='line'>1503</span>      * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>1504</span>      *
<span class='line'>1505</span>      * @description
<span class='line'>1506</span>      * This method will parse
<span class='line'>1507</span>      * TBSRequest ASN.1 class is defined in 
<span class='line'>1508</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.1.1">RFC 6960 4.1.1&lt;/a>. 
<span class='line'>1509</span>      * &lt;pre>
<span class='line'>1510</span>      * TBSRequest  ::=  SEQUENCE {
<span class='line'>1511</span>      *   version            [0]  EXPLICIT Version DEFAULT v1,
<span class='line'>1512</span>      *   requestorName      [1]  EXPLICIT GeneralName OPTIONAL,
<span class='line'>1513</span>      *   requestList             SEQUENCE OF Request,
<span class='line'>1514</span>      *   requestExtensions  [2]  EXPLICIT Extensions OPTIONAL }
<span class='line'>1515</span>      * &lt;/pre>
<span class='line'>1516</span>      *
<span class='line'>1517</span>      * @see KJUR.asn1.ocsp.OCSPParser#getOCSPRequest
<span class='line'>1518</span>      * @see KJUR.asn1.ocsp.OCSPParser#getRequestList
<span class='line'>1519</span>      * @see KJUR.asn1.ocsp.TBSRequest
<span class='line'>1520</span>      *
<span class='line'>1521</span>      * @example
<span class='line'>1522</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1523</span>      * o.getTBSRequest("30...") &rarr;
<span class='line'>1524</span>      * {array: [{
<span class='line'>1525</span>      *   "alg": "sha1",
<span class='line'>1526</span>      *   "issname": "105fa67a80089db5279f35ce830b43889ea3c70d",
<span class='line'>1527</span>      *   "isskey": "0f80611c823161d52f28e78d4638b42ce1c6d9e2",
<span class='line'>1528</span>      *   "sbjsn": "0fef62075d715dc5e1d8bd03775c9686" }]}
<span class='line'>1529</span>      */</span><span class="WHIT">
<span class='line'>1530</span> </span><span class="WHIT">    </span><span class="NAME">this.getTBSRequest</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1531</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1532</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hReqList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getTLVbyListEx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"30"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1533</span> </span><span class="WHIT">	</span><span class="NAME">result.array</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getRequestList</span><span class="PUNC">(</span><span class="NAME">hReqList</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1534</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hExt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getTLVbyListEx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="STRN">"[2]"</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"30"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1535</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">hExt</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1536</span> </span><span class="WHIT">	    </span><span class="NAME">result.ext</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_x509obj.getExtParamArray</span><span class="PUNC">(</span><span class="NAME">hExt</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1537</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1538</span> 
<span class='line'>1539</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1540</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1541</span> 
<span class='line'>1542</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1543</span>      * parse ASN.1 SEQUENCE OF Request in OCSP&lt;br/>
<span class='line'>1544</span>      * @name getRequestList
<span class='line'>1545</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1546</span>      * @function
<span class='line'>1547</span>      * @param {String} h hexadecimal string of ASN.1 SEQUENCE OF Request in OCSP
<span class='line'>1548</span>      * @return {Array} array of JSON object of Request parameter
<span class='line'>1549</span>      * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>1550</span>      *
<span class='line'>1551</span>      * @description
<span class='line'>1552</span>      * This method will parse a hexadecimal string of
<span class='line'>1553</span>      * SEQUENCE OF Request ASN.1 class is defined in 
<span class='line'>1554</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.1.1">RFC 6960 4.1.1&lt;/a>. 
<span class='line'>1555</span>      * &lt;br/>
<span class='line'>1556</span>      * NOTE: singleRequestExtensions is not supported yet in this version such as nonce.
<span class='line'>1557</span>      * &lt;pre>
<span class='line'>1558</span>      * TBSRequest  ::=  SEQUENCE {
<span class='line'>1559</span>      *   version            [0]  EXPLICIT Version DEFAULT v1,
<span class='line'>1560</span>      *   requestorName      [1]  EXPLICIT GeneralName OPTIONAL,
<span class='line'>1561</span>      *   requestList             SEQUENCE OF Request,
<span class='line'>1562</span>      *   requestExtensions  [2]  EXPLICIT Extensions OPTIONAL }
<span class='line'>1563</span>      * Request ::= SEQUENCE {
<span class='line'>1564</span>      *   reqCert                  CertID,
<span class='line'>1565</span>      *   singleRequestExtensions  [0] EXPLICIT Extensions OPTIONAL }      
<span class='line'>1566</span>      * &lt;/pre>
<span class='line'>1567</span>      *
<span class='line'>1568</span>      * @see KJUR.asn1.ocsp.OCSPParser#getTBSRequest
<span class='line'>1569</span>      * @see KJUR.asn1.ocsp.OCSPParser#getRequest
<span class='line'>1570</span>      * @see KJUR.asn1.ocsp.RequestList
<span class='line'>1571</span>      * @see KJUR.asn1.ocsp.Request
<span class='line'>1572</span>      *
<span class='line'>1573</span>      * @example
<span class='line'>1574</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1575</span>      * o.getRequestList("30...") &rarr;
<span class='line'>1576</span>      * [{ alg: "sha1"
<span class='line'>1577</span>      *   issname: "...hex...",
<span class='line'>1578</span>      *   isskey: "...hex...",
<span class='line'>1579</span>      *   sbjsn: "...hex...",
<span class='line'>1580</span>      *   ext: [&lt;&lt;singleRequestExtension parameters>>...] }]
<span class='line'>1581</span>      */</span><span class="WHIT">
<span class='line'>1582</span> </span><span class="WHIT">    </span><span class="NAME">this.getRequestList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1583</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1584</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1585</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1586</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1587</span> </span><span class="WHIT">	    </span><span class="NAME">result.push</span><span class="PUNC">(</span><span class="NAME">this.getRequest</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1588</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1589</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1590</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1591</span> 
<span class='line'>1592</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1593</span>      * parse ASN.1 Request of OCSP&lt;br/>
<span class='line'>1594</span>      * @name getRequest
<span class='line'>1595</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1596</span>      * @function
<span class='line'>1597</span>      * @param {String} h hexadecimal string of ASN.1 Request of OCSP
<span class='line'>1598</span>      * @return JSON object of Request parameter
<span class='line'>1599</span>      * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>1600</span>      *
<span class='line'>1601</span>      * @description
<span class='line'>1602</span>      * This method will parse a hexadecimal string of
<span class='line'>1603</span>      * Request ASN.1 class is defined in 
<span class='line'>1604</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.1.1">RFC 6960 4.1.1&lt;/a>. 
<span class='line'>1605</span>      * &lt;pre>
<span class='line'>1606</span>      * Request ::= SEQUENCE {
<span class='line'>1607</span>      *   reqCert                  CertID,
<span class='line'>1608</span>      *   singleRequestExtensions  [0] EXPLICIT Extensions OPTIONAL }      
<span class='line'>1609</span>      * &lt;/pre>
<span class='line'>1610</span>      *
<span class='line'>1611</span>      * @see KJUR.asn1.ocsp.OCSPParser#getTBSRequest
<span class='line'>1612</span>      * @see KJUR.asn1.ocsp.OCSPParser#getRequestList
<span class='line'>1613</span>      * @see KJUR.asn1.ocsp.OCSPParser#getCertID
<span class='line'>1614</span>      * @see KJUR.asn1.ocsp.RequestList
<span class='line'>1615</span>      * @see KJUR.asn1.ocsp.Request
<span class='line'>1616</span>      * @see KJUR.asn1.ocsp.CertID
<span class='line'>1617</span>      *
<span class='line'>1618</span>      * @example
<span class='line'>1619</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1620</span>      * o.getRequest("30...") &rarr;
<span class='line'>1621</span>      * { alg: "sha1"
<span class='line'>1622</span>      *   issname: "...hex...",
<span class='line'>1623</span>      *   isskey: "...hex...",
<span class='line'>1624</span>      *   sbjsn: "...hex...",
<span class='line'>1625</span>      *   ext: [&lt;&lt;singleRequestExtension parameters>>...] }
<span class='line'>1626</span>      */</span><span class="WHIT">
<span class='line'>1627</span> </span><span class="WHIT">    </span><span class="NAME">this.getRequest</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1628</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1629</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="WHIT"> </span><span class="PUNC">&&</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1630</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"wrong number elements: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1631</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1632</span> </span><span class="WHIT">	
<span class='line'>1633</span> 	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">params</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getCertID</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1634</span> 
<span class='line'>1635</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1636</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">idxExt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getIdxbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1637</span> </span><span class="WHIT">	    </span><span class="NAME">params.ext</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_x509obj.getExtParamArray</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">idxExt</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1638</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1639</span> 
<span class='line'>1640</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">params</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1641</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1642</span> 
<span class='line'>1643</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1644</span>      * parse ASN.1 CertID of OCSP&lt;br/>
<span class='line'>1645</span>      * @name getCertID
<span class='line'>1646</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1647</span>      * @function
<span class='line'>1648</span>      * @param {String} h hexadecimal string of CertID
<span class='line'>1649</span>      * @return JSON object of CertID parameter
<span class='line'>1650</span>      * @since jsrsasign 9.1.6 asn1ocsp 1.1.0
<span class='line'>1651</span>      *
<span class='line'>1652</span>      * @description
<span class='line'>1653</span>      * This method will parse a hexadecimal string of
<span class='line'>1654</span>      * CertID ASN.1 class is defined in 
<span class='line'>1655</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.1.1">RFC 6960 4.1.1&lt;/a>. 
<span class='line'>1656</span>      * &lt;pre>
<span class='line'>1657</span>      * CertID ::= SEQUENCE {
<span class='line'>1658</span>      *   hashAlgorithm   AlgorithmIdentifier,
<span class='line'>1659</span>      *   issuerNameHash  OCTET STRING, -- Hash of issuer's DN
<span class='line'>1660</span>      *   issuerKeyHash   OCTET STRING, -- Hash of issuer's public key
<span class='line'>1661</span>      *   serialNumber    CertificateSerialNumber }
<span class='line'>1662</span>      * &lt;/pre>
<span class='line'>1663</span>      *
<span class='line'>1664</span>      * @see KJUR.asn1.ocsp.OCSPParser#getRequest
<span class='line'>1665</span>      * @see KJUR.asn1.ocsp.OCSPParser#getSingleResponse
<span class='line'>1666</span>      * @see KJUR.asn1.ocsp.CertID
<span class='line'>1667</span>      *
<span class='line'>1668</span>      * @example
<span class='line'>1669</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1670</span>      * o.getCertID("30...") &rarr;
<span class='line'>1671</span>      * { alg: "sha1"
<span class='line'>1672</span>      *   issname: "...hex...",
<span class='line'>1673</span>      *   isskey: "...hex...",
<span class='line'>1674</span>      *   sbjsn: "...hex..." }
<span class='line'>1675</span>      */</span><span class="WHIT">
<span class='line'>1676</span> </span><span class="WHIT">    </span><span class="NAME">this.getCertID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1677</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1678</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="NUMB">4</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1679</span> </span><span class="WHIT">	    </span><span class="KEYW">throw</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_Error</span><span class="PUNC">(</span><span class="STRN">"wrong number elements: "</span><span class="WHIT"> </span><span class="PUNC">+</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1680</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1681</span> </span><span class="WHIT">	
<span class='line'>1682</span> 	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">_X509</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1683</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1684</span> </span><span class="WHIT">	</span><span class="NAME">result.alg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x.getAlgorithmIdentifierName</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1685</span> </span><span class="WHIT">	</span><span class="NAME">result.issname</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1686</span> </span><span class="WHIT">	</span><span class="NAME">result.isskey</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1687</span> </span><span class="WHIT">	</span><span class="NAME">result.sbjsn</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">3</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1688</span> </span><span class="WHIT">	
<span class='line'>1689</span> 	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1690</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1691</span> 
<span class='line'>1692</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1693</span>      * parse ASN.1 OCSPResponse of OCSP&lt;br/>
<span class='line'>1694</span>      * @name getOCSPResponse
<span class='line'>1695</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1696</span>      * @function
<span class='line'>1697</span>      * @param {String} h hexadecimal string of OCSPResponse
<span class='line'>1698</span>      * @return JSON object of OCSResponse parameter
<span class='line'>1699</span>      * @since jsrsasign 10.4.0 asn1ocsp 1.1.5
<span class='line'>1700</span>      *
<span class='line'>1701</span>      * @description
<span class='line'>1702</span>      * This method will parse a hexadecimal string of
<span class='line'>1703</span>      * ASN.1 OCSPResponse defined in
<span class='line'>1704</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>1705</span>      * &lt;pre>
<span class='line'>1706</span>      * OCSPResponse ::= SEQUENCE {
<span class='line'>1707</span>      *    responseStatus         OCSPResponseStatus,
<span class='line'>1708</span>      *    responseBytes          [0] EXPLICIT ResponseBytes OPTIONAL }
<span class='line'>1709</span>      * OCSPResponseStatus ::= ENUMERATED {
<span class='line'>1710</span>      *     successful            (0),  -- Response has valid confirmations
<span class='line'>1711</span>      *     malformedRequest      (1),  -- Illegal confirmation request
<span class='line'>1712</span>      *     internalError         (2),  -- Internal error in issuer
<span class='line'>1713</span>      *     tryLater              (3),  -- Try again later
<span class='line'>1714</span>      *                                 -- (4) is not used
<span class='line'>1715</span>      *     sigRequired           (5),  -- Must sign the request
<span class='line'>1716</span>      *     unauthorized          (6)   -- Request unauthorized }
<span class='line'>1717</span>      * &lt;/pre>
<span class='line'>1718</span>      *
<span class='line'>1719</span>      * @see KJUR.asn1.ocsp.OCSPParser#getResponseBytes
<span class='line'>1720</span>      * @see KJUR.asn1.ocsp.OCSPResponse
<span class='line'>1721</span>      *
<span class='line'>1722</span>      * @example
<span class='line'>1723</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1724</span>      * o.getOCSPResponse("30..") &rarr;
<span class='line'>1725</span>      * { resstatus: 0,
<span class='line'>1726</span>      *   restype: "ocspBasic",
<span class='line'>1727</span>      *   respid: {key: "12ab"},
<span class='line'>1728</span>      *   prodat: "20200903235959Z",
<span class='line'>1729</span>      *   array: [{
<span class='line'>1730</span>      *     certid: {alg:"sha1",issname:"12ab",isskey:"12ab",sbjsn:"12ab"},
<span class='line'>1731</span>      *     status: {status: "good"},
<span class='line'>1732</span>      *     thisupdate: "20200903235959Z" }],
<span class='line'>1733</span>      *   ext: [{extname: "ocspNonce", hex: "1234abcd"}],
<span class='line'>1734</span>      *   alg: "SHA256withRSA",
<span class='line'>1735</span>      *   sighex: "12ab",
<span class='line'>1736</span>      *   certs: ["3082...", "3082..."] }
<span class='line'>1737</span>      */</span><span class="WHIT">
<span class='line'>1738</span> </span><span class="WHIT">    </span><span class="NAME">this.getOCSPResponse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1739</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1740</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1741</span> 
<span class='line'>1742</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hStatusV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1743</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">iStatusV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">parseInt</span><span class="PUNC">(</span><span class="NAME">hStatusV</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1744</span> </span><span class="WHIT">	
<span class='line'>1745</span> 	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">a.length</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">resstatus</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="NAME">iStatusV</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1746</span> 
<span class='line'>1747</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hResponseBytes</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getTLVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1748</span> </span><span class="WHIT">	</span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getResponseBytes</span><span class="PUNC">(</span><span class="NAME">hResponseBytes</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1749</span> </span><span class="WHIT">	</span><span class="NAME">result.resstatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">iStatusV</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1750</span> </span><span class="WHIT">	
<span class='line'>1751</span> 	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1752</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1753</span> 
<span class='line'>1754</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1755</span>      * parse ASN.1 ResponseBytes of OCSP&lt;br/>
<span class='line'>1756</span>      * @name getResponseBytes
<span class='line'>1757</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1758</span>      * @function
<span class='line'>1759</span>      * @param {String} h hexadecimal string of ResponseBytes
<span class='line'>1760</span>      * @return JSON object of ResponseBytes parameter
<span class='line'>1761</span>      * @since jsrsasign 10.4.0 asn1ocsp 1.1.5
<span class='line'>1762</span>      *
<span class='line'>1763</span>      * @description
<span class='line'>1764</span>      * This method will parse a hexadecimal string of
<span class='line'>1765</span>      * ASN.1 ResponseBytes defined in
<span class='line'>1766</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>1767</span>      * &lt;pre>
<span class='line'>1768</span>      * ResponseBytes ::=       SEQUENCE {
<span class='line'>1769</span>      *     responseType   OBJECT IDENTIFIER,
<span class='line'>1770</span>      *     response       OCTET STRING }
<span class='line'>1771</span>      * id-pkix-ocsp           OBJECT IDENTIFIER ::= { id-ad-ocsp }
<span class='line'>1772</span>      * id-pkix-ocsp-basic     OBJECT IDENTIFIER ::= { id-pkix-ocsp 1 }
<span class='line'>1773</span>      *
<span class='line'>1774</span>      * BasicOCSPResponse       ::= SEQUENCE {
<span class='line'>1775</span>      *    tbsResponseData      ResponseData,
<span class='line'>1776</span>      *    signatureAlgorithm   AlgorithmIdentifier,
<span class='line'>1777</span>      *    signature            BIT STRING,
<span class='line'>1778</span>      *    certs            [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
<span class='line'>1779</span>      * &lt;/pre>
<span class='line'>1780</span>      *
<span class='line'>1781</span>      * @see KJUR.asn1.ocsp.OCSPParser#getOCSPResponse
<span class='line'>1782</span>      * @see KJUR.asn1.ocsp.OCSPParser#getBasicOCSPResponse
<span class='line'>1783</span>      * @see KJUR.asn1.ocsp.ResponseBytes
<span class='line'>1784</span>      *
<span class='line'>1785</span>      * @example
<span class='line'>1786</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1787</span>      * o.getResponseBytes("30..") &rarr;
<span class='line'>1788</span>      * { restype: "ocspBasic",
<span class='line'>1789</span>      *   ...&lt;&lt;BasicOCSPResponse properties...>>...
<span class='line'>1790</span>      */</span><span class="WHIT">
<span class='line'>1791</span> </span><span class="WHIT">    </span><span class="NAME">this.getResponseBytes</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1792</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1793</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1794</span> 
<span class='line'>1795</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hBasicOCSPResponse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getTLVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1796</span> </span><span class="WHIT">	</span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getBasicOCSPResponse</span><span class="PUNC">(</span><span class="NAME">hBasicOCSPResponse</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1797</span> 
<span class='line'>1798</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hResTypeV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1799</span> </span><span class="WHIT">	</span><span class="NAME">result.restype</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">KJUR.asn1.x509.OID.oid2name</span><span class="PUNC">(</span><span class="NAME">hextooid</span><span class="PUNC">(</span><span class="NAME">hResTypeV</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1800</span> </span><span class="WHIT">	
<span class='line'>1801</span> 	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1802</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1803</span> 
<span class='line'>1804</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1805</span>      * parse ASN.1 BasicOCSPResponse of OCSP&lt;br/>
<span class='line'>1806</span>      * @name getBasicOCSPResponse
<span class='line'>1807</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1808</span>      * @function
<span class='line'>1809</span>      * @param {String} h hexadecimal string of BasicOCSPResponse
<span class='line'>1810</span>      * @return JSON object of BasicOCSPResponse parameter
<span class='line'>1811</span>      * @since jsrsasign 10.4.0 asn1ocsp 1.1.5
<span class='line'>1812</span>      *
<span class='line'>1813</span>      * @description
<span class='line'>1814</span>      * This method will parse a hexadecimal string of
<span class='line'>1815</span>      * BasicOCSPResponse defined in 
<span class='line'>1816</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>1817</span>      * &lt;pre>
<span class='line'>1818</span>      * BasicOCSPResponse       ::= SEQUENCE {
<span class='line'>1819</span>      *    tbsResponseData      ResponseData,
<span class='line'>1820</span>      *    signatureAlgorithm   AlgorithmIdentifier,
<span class='line'>1821</span>      *    signature            BIT STRING,
<span class='line'>1822</span>      *    certs            [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
<span class='line'>1823</span>      * &lt;/pre>
<span class='line'>1824</span>      *
<span class='line'>1825</span>      * @see KJUR.asn1.ocsp.OCSPParser#getResponseBytes
<span class='line'>1826</span>      * @see KJUR.asn1.ocsp.OCSPParser#getResponseData
<span class='line'>1827</span>      * @see KJUR.asn1.ocsp.BasicOCSPResponse
<span class='line'>1828</span>      *
<span class='line'>1829</span>      * @example
<span class='line'>1830</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1831</span>      * o.getBasicOCSPResponse("30..") &rarr;
<span class='line'>1832</span>      * { ...&lt;&lt;ResponseData properties...>>...
<span class='line'>1833</span>      *   sigalg: "SHA256withRSA",
<span class='line'>1834</span>      *   sighex: "12abcd...",
<span class='line'>1835</span>      *   certs: [&lt;&lt;PEMorHEXstringOfCert1>>,...] });
<span class='line'>1836</span>      */</span><span class="WHIT">
<span class='line'>1837</span> </span><span class="WHIT">    </span><span class="NAME">this.getBasicOCSPResponse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1838</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1839</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1840</span> 
<span class='line'>1841</span> </span><span class="WHIT">	</span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getResponseData</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1842</span> 
<span class='line'>1843</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1844</span> </span><span class="WHIT">	</span><span class="NAME">result.alg</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x.getAlgorithmIdentifierName</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1845</span> 
<span class='line'>1846</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hSigHex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1847</span> </span><span class="WHIT">	</span><span class="NAME">result.sighex</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hSigHex.substr</span><span class="PUNC">(</span><span class="NUMB">2</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1848</span> </span><span class="WHIT">	
<span class='line'>1849</span> 	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hExt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getVbyListEx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="STRN">"[0]"</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1850</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">hExt</span><span class="WHIT"> </span><span class="PUNC">!=</span><span class="WHIT"> </span><span class="KEYW">null</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1851</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aCertIdx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">hExt</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1852</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">aCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1853</span> </span><span class="WHIT">	    </span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">aCertIdx.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1854</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hCert</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">hExt</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">aCertIdx</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1855</span> </span><span class="WHIT">		</span><span class="NAME">aCert.push</span><span class="PUNC">(</span><span class="NAME">hCert</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1856</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1857</span> </span><span class="WHIT">	    </span><span class="NAME">result.certs</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">aCert</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1858</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1859</span> 
<span class='line'>1860</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1861</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1862</span> 
<span class='line'>1863</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1864</span>      * parse ASN.1 ResponseData of OCSP&lt;br/>
<span class='line'>1865</span>      * @name getResponseData
<span class='line'>1866</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1867</span>      * @function
<span class='line'>1868</span>      * @param {String} h hexadecimal string of ResponseData
<span class='line'>1869</span>      * @return JSON object of ResponseData parameter
<span class='line'>1870</span>      * @since jsrsasign 10.4.0 asn1ocsp 1.1.5
<span class='line'>1871</span>      *
<span class='line'>1872</span>      * @description
<span class='line'>1873</span>      * This method will parse a hexadecimal string of
<span class='line'>1874</span>      * ASN.1 ResponseData defined in
<span class='line'>1875</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>1876</span>      * &lt;pre>
<span class='line'>1877</span>      * ResponseData ::= SEQUENCE {
<span class='line'>1878</span>      *    version              [0] EXPLICIT Version DEFAULT v1,
<span class='line'>1879</span>      *    responderID              ResponderID,
<span class='line'>1880</span>      *    producedAt               GeneralizedTime,
<span class='line'>1881</span>      *    responses                SEQUENCE OF SingleResponse,
<span class='line'>1882</span>      *    responseExtensions   [1] EXPLICIT Extensions OPTIONAL }
<span class='line'>1883</span>      * &lt;/pre>
<span class='line'>1884</span>      *
<span class='line'>1885</span>      * @see KJUR.asn1.ocsp.OCSPParser#getBasicOCSPResponse
<span class='line'>1886</span>      * @see KJUR.asn1.ocsp.OCSPParser#getSingleResponse
<span class='line'>1887</span>      * @see KJUR.asn1.ocsp.ResponseData
<span class='line'>1888</span>      *
<span class='line'>1889</span>      * @example
<span class='line'>1890</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1891</span>      * o.getResponseData("30..") &rarr;
<span class='line'>1892</span>      * { respid: {key: "12ab..."},
<span class='line'>1893</span>      *   prodat: "20200903235959Z",
<span class='line'>1894</span>      *   array: [&lt;&lt;SingleResponse parameter1>>, ...],
<span class='line'>1895</span>      *   ext: [
<span class='line'>1896</span>      *     {extname:"ocspNonce",hex:"12ab..."}]}
<span class='line'>1897</span>      */</span><span class="WHIT">
<span class='line'>1898</span> </span><span class="WHIT">    </span><span class="NAME">this.getResponseData</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1899</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1900</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">alen</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1901</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1902</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">idx</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1903</span> 
<span class='line'>1904</span> </span><span class="WHIT">	</span><span class="COMM">// skip to relax interoperability even though explicit DEFAULT</span><span class="WHIT">
<span class='line'>1905</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"a0"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="NAME">idx</span><span class="PUNC">++</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1906</span> 
<span class='line'>1907</span> </span><span class="WHIT">	</span><span class="NAME">result.respid</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getResponderID</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">idx</span><span class="PUNC">++</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1908</span> </span><span class="WHIT">	
<span class='line'>1909</span> 	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hProdAtV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">idx</span><span class="PUNC">++</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1910</span> </span><span class="WHIT">	</span><span class="NAME">result.prodat</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hextoutf8</span><span class="PUNC">(</span><span class="NAME">hProdAtV</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1911</span> </span><span class="WHIT">	
<span class='line'>1912</span> 	</span><span class="NAME">result.array</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getSingleResponseList</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">idx</span><span class="PUNC">++</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1913</span> 
<span class='line'>1914</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">alen</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"a1"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1915</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hExt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT">  </span><span class="NAME">_getTLVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">alen</span><span class="WHIT"> </span><span class="PUNC">-</span><span class="WHIT"> </span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1916</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1917</span> </span><span class="WHIT">	    </span><span class="NAME">result.ext</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x.getExtParamArray</span><span class="PUNC">(</span><span class="NAME">hExt</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1918</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1919</span> 
<span class='line'>1920</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1921</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1922</span> 
<span class='line'>1923</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1924</span>      * parse ASN.1 ResponderID of OCSP&lt;br/>
<span class='line'>1925</span>      * @name getResponderID
<span class='line'>1926</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1927</span>      * @function
<span class='line'>1928</span>      * @param {String} h hexadecimal string of ResponderID
<span class='line'>1929</span>      * @return JSON object of ResponderID parameter
<span class='line'>1930</span>      * @since jsrsasign 10.4.0 asn1ocsp 1.1.5
<span class='line'>1931</span>      * @see KJUR.asn1.ocsp.ResponderID
<span class='line'>1932</span>      *
<span class='line'>1933</span>      * @description
<span class='line'>1934</span>      * &lt;pre>
<span class='line'>1935</span>      * ResponderID ::= CHOICE {
<span class='line'>1936</span>      *    byName               [1] Name,
<span class='line'>1937</span>      *    byKey                [2] KeyHash }
<span class='line'>1938</span>      * KeyHash ::= OCTET STRING -- SHA-1 hash of responder's public key
<span class='line'>1939</span>      *                             (excluding the tag and length fields)
<span class='line'>1940</span>      * &lt;/pre>
<span class='line'>1941</span>      *
<span class='line'>1942</span>      * @example
<span class='line'>1943</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1944</span>      * o.getResponderID("a1..") &rarr; {name: {array: [[{type:"C",value:"JP",ds:"prn"}]...]}}
<span class='line'>1945</span>      * o.getResponderID("a2..") &rarr; {key: "12ab..."}
<span class='line'>1946</span>      */</span><span class="WHIT">
<span class='line'>1947</span> </span><span class="WHIT">    </span><span class="NAME">this.getResponderID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1948</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1949</span> 
<span class='line'>1950</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"a2"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1951</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hKeyV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1952</span> </span><span class="WHIT">	    </span><span class="NAME">result.key</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hKeyV</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1953</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1954</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"a1"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>1955</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hName</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getTLVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1956</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1957</span> </span><span class="WHIT">	    </span><span class="NAME">result.name</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x.getX500Name</span><span class="PUNC">(</span><span class="NAME">hName</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1958</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>1959</span> </span><span class="WHIT">	
<span class='line'>1960</span> 	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1961</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>1962</span> 
<span class='line'>1963</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>1964</span>      * parse ASN.1 SEQUENCE OF SingleResponse of OCSP&lt;br/>
<span class='line'>1965</span>      * @name getSingleResponseList
<span class='line'>1966</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>1967</span>      * @function
<span class='line'>1968</span>      * @param {String} h hexadecimal string of SEQUENCE OF SingleResponse
<span class='line'>1969</span>      * @return array of SingleResponse parameter JSON object
<span class='line'>1970</span>      * @since jsrsasign 10.4.0 asn1ocsp 1.1.5
<span class='line'>1971</span>      *
<span class='line'>1972</span>      * @description
<span class='line'>1973</span>      * This method will parse a hexadecimal string of
<span class='line'>1974</span>      * ASN.1 class of SEQUENCE OF SingleResponse is defined in 
<span class='line'>1975</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>1976</span>      * &lt;pre>
<span class='line'>1977</span>      * ResponseData ::= SEQUENCE {
<span class='line'>1978</span>      *    version              [0] EXPLICIT Version DEFAULT v1,
<span class='line'>1979</span>      *    responderID              ResponderID,
<span class='line'>1980</span>      *    producedAt               GeneralizedTime,
<span class='line'>1981</span>      *    responses                SEQUENCE OF SingleResponse,
<span class='line'>1982</span>      *    responseExtensions   [1] EXPLICIT Extensions OPTIONAL }
<span class='line'>1983</span>      * SingleResponse ::= SEQUENCE {
<span class='line'>1984</span>      *    certID                       CertID,
<span class='line'>1985</span>      *    certStatus                   CertStatus,
<span class='line'>1986</span>      *    thisUpdate                   GeneralizedTime,
<span class='line'>1987</span>      *    nextUpdate         [0]       EXPLICIT GeneralizedTime OPTIONAL,
<span class='line'>1988</span>      *    singleExtensions   [1]       EXPLICIT Extensions OPTIONAL }
<span class='line'>1989</span>      * &lt;/pre>
<span class='line'>1990</span>      *
<span class='line'>1991</span>      * @see KJUR.asn1.ocsp.OCSPParse#getResponseData
<span class='line'>1992</span>      * @see KJUR.asn1.ocsp.OCSPParse#getSingleResponse
<span class='line'>1993</span>      * @see KJUR.asn1.ocsp.OCSPParse#getCertID
<span class='line'>1994</span>      * @see KJUR.asn1.ocsp.SingleResponseList
<span class='line'>1995</span>      *
<span class='line'>1996</span>      * @example
<span class='line'>1997</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>1998</span>      * o.getSingleResponseList("30..") &rarr;
<span class='line'>1999</span>      * [{ certid: {alg:"sha1",issname:"12ab",isskey:"12ab",sbjsn:"12ab"},
<span class='line'>2000</span>      *    status: {status: "good"},
<span class='line'>2001</span>      *    thisupdate: "20200903235959Z",
<span class='line'>2002</span>      *    nextupdate: "20200913235959Z",
<span class='line'>2003</span>      *    ext: [&lt;&lt;Extension parameters>>...] }]
<span class='line'>2004</span>      */</span><span class="WHIT">
<span class='line'>2005</span> </span><span class="WHIT">    </span><span class="NAME">this.getSingleResponseList</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>2006</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2007</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="PUNC">]</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2008</span> 
<span class='line'>2009</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>2010</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">p</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getSingleResponse</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2011</span> </span><span class="WHIT">	    </span><span class="NAME">result.push</span><span class="PUNC">(</span><span class="NAME">p</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2012</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>2013</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2014</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2015</span> 
<span class='line'>2016</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>2017</span>      * parse ASN.1 SingleResponse of OCSP&lt;br/>
<span class='line'>2018</span>      * @name getSingleResponse
<span class='line'>2019</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>2020</span>      * @function
<span class='line'>2021</span>      * @param {String} h hexadecimal string of SingleResponse
<span class='line'>2022</span>      * @return JSON object of SingleResponse parameter
<span class='line'>2023</span>      * @since jsrsasign 10.4.0 asn1ocsp 1.1.5
<span class='line'>2024</span>      *
<span class='line'>2025</span>      * @description
<span class='line'>2026</span>      * This method will parse a hexadecimal string of
<span class='line'>2027</span>      * ASN.1 class of SingleResponse is defined in 
<span class='line'>2028</span>      * &lt;a href="https://tools.ietf.org/html/rfc6960#section-4.2.1">RFC 6960 4.2.1&lt;/a>. 
<span class='line'>2029</span>      * &lt;pre>
<span class='line'>2030</span>      * SingleResponse ::= SEQUENCE {
<span class='line'>2031</span>      *    certID                       CertID,
<span class='line'>2032</span>      *    certStatus                   CertStatus,
<span class='line'>2033</span>      *    thisUpdate                   GeneralizedTime,
<span class='line'>2034</span>      *    nextUpdate         [0]       EXPLICIT GeneralizedTime OPTIONAL,
<span class='line'>2035</span>      *    singleExtensions   [1]       EXPLICIT Extensions OPTIONAL }
<span class='line'>2036</span>      * &lt;/pre>
<span class='line'>2037</span>      *
<span class='line'>2038</span>      * @see KJUR.asn1.ocsp.OCSPParse#getSingleResponseList
<span class='line'>2039</span>      * @see KJUR.asn1.ocsp.OCSPParse#getCertID
<span class='line'>2040</span>      * @see KJUR.asn1.ocsp.SingleResponse
<span class='line'>2041</span>      *
<span class='line'>2042</span>      * @example
<span class='line'>2043</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>2044</span>      * o.getSingleResponse("30..") &rarr;
<span class='line'>2045</span>      * { certid: {alg:"sha1",issname:"12ab",isskey:"12ab",sbjsn:"12ab"},
<span class='line'>2046</span>      *   status: {status: "good"},
<span class='line'>2047</span>      *   thisupdate: "20200903235959Z",
<span class='line'>2048</span>      *   nextupdate: "20200913235959Z",
<span class='line'>2049</span>      *   ext: [&lt;&lt;Extension parameters>>...] }
<span class='line'>2050</span>      */</span><span class="WHIT">
<span class='line'>2051</span> </span><span class="WHIT">    </span><span class="NAME">this.getSingleResponse</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>2052</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">a</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getChildIdx</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2053</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2054</span> 
<span class='line'>2055</span> </span><span class="WHIT">	</span><span class="COMM">// 1. CertID</span><span class="WHIT">
<span class='line'>2056</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">pCertID</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getCertID</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2057</span> </span><span class="WHIT">	</span><span class="NAME">result.certid</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">pCertID</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2058</span> 
<span class='line'>2059</span> </span><span class="WHIT">	</span><span class="COMM">// 2. CertStatus</span><span class="WHIT">
<span class='line'>2060</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">pCertStatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">this.getCertStatus</span><span class="PUNC">(</span><span class="NAME">_getTLV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">1</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2061</span> </span><span class="WHIT">	</span><span class="NAME">result.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">pCertStatus</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2062</span> 
<span class='line'>2063</span> </span><span class="WHIT">	</span><span class="COMM">// 3. ThisUpdate(GeneralizedTime)</span><span class="WHIT">
<span class='line'>2064</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"18"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>2065</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hThisUpdateV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getV</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NUMB">2</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2066</span> </span><span class="WHIT">	    </span><span class="NAME">result.thisupdate</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hextoutf8</span><span class="PUNC">(</span><span class="NAME">hThisUpdateV</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2067</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>2068</span> </span><span class="WHIT">	
<span class='line'>2069</span> 	</span><span class="COMM">// 4. OPTIONAL(nextUpdate, singleExtensions)</span><span class="WHIT">
<span class='line'>2070</span> </span><span class="WHIT">	</span><span class="KEYW">for</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NUMB">3</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="WHIT"> </span><span class="PUNC">&lt;</span><span class="WHIT"> </span><span class="NAME">a.length</span><span class="PUNC">;</span><span class="WHIT"> </span><span class="NAME">i</span><span class="PUNC">++</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>2071</span> </span><span class="WHIT">	    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"a0"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// nextUpdate</span><span class="WHIT">
<span class='line'>2072</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hNextUpdateV</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="STRN">"18"</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2073</span> </span><span class="WHIT">		</span><span class="NAME">result.nextupdate</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hextoutf8</span><span class="PUNC">(</span><span class="NAME">hNextUpdateV</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2074</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>2075</span> </span><span class="WHIT">	    </span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NAME">a</span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">]</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"a1"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT"> </span><span class="COMM">// singleExtensions</span><span class="WHIT">
<span class='line'>2076</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">x</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">new</span><span class="WHIT"> </span><span class="NAME">X509</span><span class="PUNC">(</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2077</span> </span><span class="WHIT">		</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hExt</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getTLVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NAME">i</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2078</span> </span><span class="WHIT">		</span><span class="NAME">result.ext</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">x.getExtParamArray</span><span class="PUNC">(</span><span class="NAME">hExt</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2079</span> </span><span class="WHIT">	    </span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>2080</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>2081</span> 
<span class='line'>2082</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2083</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2084</span> 
<span class='line'>2085</span> </span><span class="WHIT">    </span><span class="COMM">/**
<span class='line'>2086</span>      * parse ASN.1 CertStatus of OCSP&lt;br/>
<span class='line'>2087</span>      * @name getCertStatus
<span class='line'>2088</span>      * @memberOf KJUR.asn1.ocsp.OCSPParser#
<span class='line'>2089</span>      * @function
<span class='line'>2090</span>      * @param {String} h hexadecimal string of CertStatus
<span class='line'>2091</span>      * @return JSON object of CertStatus parameter
<span class='line'>2092</span>      * @since jsrsasign 10.4.0 asn1ocsp 1.1.5
<span class='line'>2093</span>      * @see KJUR.asn1.ocsp.CertStatus
<span class='line'>2094</span>      *
<span class='line'>2095</span>      * @description
<span class='line'>2096</span>      * &lt;pre>
<span class='line'>2097</span>      * CertStatus ::= CHOICE {
<span class='line'>2098</span>      *     good        [0]     IMPLICIT NULL,
<span class='line'>2099</span>      *     revoked     [1]     IMPLICIT RevokedInfo,
<span class='line'>2100</span>      *     unknown     [2]     IMPLICIT UnknownInfo }
<span class='line'>2101</span>      * RevokedInfo ::= SEQUENCE {
<span class='line'>2102</span>      *     revocationTime              GeneralizedTime,
<span class='line'>2103</span>      *     revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }
<span class='line'>2104</span>      * UnknownInfo ::= NULL
<span class='line'>2105</span>      * &lt;/pre>
<span class='line'>2106</span>      * NOTE: Currently revocationReason not supported.
<span class='line'>2107</span>      *
<span class='line'>2108</span>      * @example
<span class='line'>2109</span>      * o = new KJUR.asn1.ocsp.OCSPParser();
<span class='line'>2110</span>      * o.getCertStatus("8000") &rarr; {status: "good"}
<span class='line'>2111</span>      * o.getCertStatus("8200") &rarr; {status: "unknown"}
<span class='line'>2112</span>      * o.getCertStatus("a1..") &rarr; {status: "revoked", time: "2021...Z"}
<span class='line'>2113</span>      */</span><span class="WHIT">
<span class='line'>2114</span> </span><span class="WHIT">    </span><span class="NAME">this.getCertStatus</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="KEYW">function</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>2115</span> </span><span class="WHIT">	</span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">result</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2116</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"8000"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">status</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"good"</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2117</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"8200"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="KEYW">return</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="NAME">status</span><span class="PUNC">:</span><span class="WHIT"> </span><span class="STRN">"unknown"</span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2118</span> </span><span class="WHIT">	</span><span class="KEYW">if</span><span class="WHIT"> </span><span class="PUNC">(</span><span class="NAME">h.substr</span><span class="PUNC">(</span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">2</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">==</span><span class="WHIT"> </span><span class="STRN">"a1"</span><span class="PUNC">)</span><span class="WHIT"> </span><span class="PUNC">{</span><span class="WHIT">
<span class='line'>2119</span> </span><span class="WHIT">	    </span><span class="NAME">result.status</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="STRN">"revoked"</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2120</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">hTime</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">_getVbyList</span><span class="PUNC">(</span><span class="NAME">h</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="NUMB">0</span><span class="PUNC">,</span><span class="WHIT"> </span><span class="PUNC">[</span><span class="NUMB">0</span><span class="PUNC">]</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2121</span> </span><span class="WHIT">	    </span><span class="KEYW">var</span><span class="WHIT"> </span><span class="NAME">sTime</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">hextoutf8</span><span class="PUNC">(</span><span class="NAME">hTime</span><span class="PUNC">)</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2122</span> </span><span class="WHIT">	    </span><span class="NAME">result.time</span><span class="WHIT"> </span><span class="PUNC">=</span><span class="WHIT"> </span><span class="NAME">sTime</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2123</span> </span><span class="WHIT">	</span><span class="PUNC">}</span><span class="WHIT">
<span class='line'>2124</span> </span><span class="WHIT">	</span><span class="KEYW">return</span><span class="WHIT"> </span><span class="NAME">result</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2125</span> </span><span class="WHIT">    </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2126</span> </span><span class="PUNC">}</span><span class="PUNC">;</span><span class="WHIT">
<span class='line'>2127</span> 
<span class='line'>2128</span> </span></pre></body></html>